检查多个选择框中的选项
我正在尝试找到一种方法来检查不同选择框中的选项(总计:4)。 这些框在值/文本中包含相同的数据。
如何避免选项选择相同? (我用它来实现排序功能)。 我如何将它集成到当前的 jquery 脚本中。 (我使用ajax-post来解析数据)。
事情不应该是这样的:
选择一个:
<ul>
<li class="move-img">
<select style="width:150px;"id="modul1" onchange="$.modules.options(this,1);">
<option value="0"></option>
<option value="1">name</option>
<option value="2">name2</option>
</select>
</li>
选择两项
<ul>
<li class="move-img">
<select style="width:150px;"id="modul2" onchange="$.modules.options(this,2);">
<option value="0"></option>
<option value="1">name</option>
<option value="2">name2</option>
</select>
</li>
jQuery
$.modules = {
/* Get price for option-modules */
options: function(module_id,show_divid){
var modul = $(module_id).val();
if(modul != 0){
//show price
$("#showprice"+show_divid).html('<div class="ajax_loader left"></div>').fadeTo(300,0.25,function(){
var $show_price = $(this); // div tag
$.post('/ajax/modules/get_prices/',{check_data:'send_data',get_module_prices_id:modul},function(data){
$show_price.fadeTo(200,100,function(){
$show_price.html(data.module_price);
});
},'json');
});
}
}
}
I'm trying to find a way to check my options in different select boxes (total: 4).
The boxes include the same data in value/text.
How do I avoid that the option select is the same? (I use it for an sorting feature).
And how can i integrate it in the current jquery script. (I use ajax-post to parse data).
This is how it should not be:
Select one:
<ul>
<li class="move-img">
<select style="width:150px;"id="modul1" onchange="$.modules.options(this,1);">
<option value="0"></option>
<option value="1">name</option>
<option value="2">name2</option>
</select>
</li>
Select two
<ul>
<li class="move-img">
<select style="width:150px;"id="modul2" onchange="$.modules.options(this,2);">
<option value="0"></option>
<option value="1">name</option>
<option value="2">name2</option>
</select>
</li>
jQuery
$.modules = {
/* Get price for option-modules */
options: function(module_id,show_divid){
var modul = $(module_id).val();
if(modul != 0){
//show price
$("#showprice"+show_divid).html('<div class="ajax_loader left"></div>').fadeTo(300,0.25,function(){
var $show_price = $(this); // div tag
$.post('/ajax/modules/get_prices/',{check_data:'send_data',get_module_prices_id:modul},function(data){
$show_price.fadeTo(200,100,function(){
$show_price.html(data.module_price);
});
},'json');
});
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我想知道这是否是您所追求的: http://jsfiddle.net/william/K7nTr/ 。
它检查该值是否已被选择。如果有,则恢复到第一个值并提醒用户。
I wonder whether this is what you are after: http://jsfiddle.net/william/K7nTr/.
It checks whether the value has already been selected. If it has, revert to the first value and alert the user.
在
onchange="$.modules.options('modul1',1);"
中,您不必传递modul1
,只需传递this
> 它将指向正在更改的选择框。这适用于两个选择框。你的代码中有一些js错误,试试这个。In
onchange="$.modules.options('modul1',1);"
you dont have to passmodul1
, you can just passthis
which will point to the changing select box. This applies to both the select boxes. You have few js error in your code, try this.我不确定我是否理解。在html中,替换jquery中的onChange
,替换:
并替换
为
I'm not sure I understand. in html, replace the onChange
in jquery, replace:
and replace too
by
试试这个
try this
不确定我是否在这儿找到你了。
但我的以下示例允许每个选项仅选择一次。
Not sure if i got you right here.
But my following example allows each option to be selected only once.