Javascript 我可以绑定“选择多个”中的某个选项的什么事件?
假设我有一个多选列表,如:Javascript 我可以绑定“选择多个”中的某个选项的什么事件?,javascript,jquery,Javascript,Jquery,假设我有一个多选列表,如: <select name="persons" id="persons" multiple size="8"> <option id="captureMe">Test option</option> <option value="" disabled="disabled">─────────</option> <option value="FR">Franck</option
<select name="persons" id="persons" multiple size="8">
<option id="captureMe">Test option</option>
<option value="" disabled="disabled">─────────</option>
<option value="FR">Franck</option>
<option value="GE">Georges</option>
<option value="DA">David</option>
<option value="LU">Luc</option>
<option value="DO">Donald</option>
<option value="FR">FRANCOIS</option>
</select>
但这些都不适用于click事件
所以我的问题是,我可以绑定到select multiple中的一个选项的哪个事件
我不希望事件从select启动,而是从选项本身启动
目标可能是在特定选项更改时触发ajax调用您可以使用click event而不是change:
$captureMe.on'click',函数{
控制台,明白了!;
};
测试选项
─────────
弗兰克
乔治
大卫
卢克
唐纳德
弗朗索瓦
您可以使用“单击事件”而不是“更改”:
$captureMe.on'click',函数{
控制台,明白了!;
};
测试选项
─────────
弗兰克
乔治
大卫
卢克
唐纳德
弗朗索瓦
例如,可以使用:selected选择器,请参见
这里有一个。您可以使用:selected选择器,请参阅
这里有一个问题。难道不可能让它按以下方式工作吗
var selectedValue = "";
$("#persons").change(function() {
var values = $(this).val();
if()// condition to check if #captureme option is present in "selectedValue" variable
{
// logic
}
else if() // condition to check if #captureme was not present in "selectedValue" before and is selected now
{
// logic
}
selectedValue = value;
});
难道不可能用下面的方法使它工作吗
var selectedValue = "";
$("#persons").change(function() {
var values = $(this).val();
if()// condition to check if #captureme option is present in "selectedValue" variable
{
// logic
}
else if() // condition to check if #captureme was not present in "selectedValue" before and is selected now
{
// logic
}
selectedValue = value;
});
请查看以下代码: 测试选项 ───────── 弗兰克 乔治 大卫 卢克 唐纳德 弗朗索瓦 $persons.changefunction{ var值=$persons.val; 如果$.inArray$captureMe.val,则值>-1{ 如果!$captureMe.propisSelected{ $captureMe.propisSelected,true; 控制台。选择日志“caputreMe”; } }否则{ 如果选择了$captureMe.propi{ $captureMe.propisSelected,false; 控制台。未选择日志“caputreMe”; } } };
请查看以下代码: 测试选项 ───────── 弗兰克 乔治 大卫 卢克 唐纳德 弗朗索瓦 $persons.changefunction{ var值=$persons.val; 如果$.inArray$captureMe.val,则值>-1{ 如果!$captureMe.propisSelected{ $captureMe.propisSelected,true; 控制台。选择日志“caputreMe”; } }否则{ 如果选择了$captureMe.propi{ $captureMe.propisSelected,false; 控制台。未选择日志“caputreMe”; } } };
您必须使用选择框idI调用更改功能您必须使用选择框idI调用更改功能我不知道为什么我自己没有实现这一点,但您的解决方案是有效的。。谢谢你知道在多重选择中是否有其他事件可以绑定到一个选项上吗?@GilleQ.,我认为如果选择的选项在整个选择的更改中包含某些值,你可以触发一些事件,但我不知道该选项本身还有其他事件。我不知道为什么我自己没有实现这一点,但是你的解决方案是有效的。。谢谢你知道在多重选择中是否还有其他事件可以绑定到一个选项上吗?@GilleQ.,我认为如果选择的选项包含整个选择的某个值,你可以触发一些事件,但是我不知道该选项本身有其他事件。这样,如果我更改了“captureMe”以外的其他选项,事件将被触发,而这不是我想要的。如果我更改了“captureMe”以外的其他选项,事件将被触发,这不是我想要的
$("select").change(function() {
$("#captured-by-id:selected").each(function() {
alert($(this).text());
});
});
var selectedValue = "";
$("#persons").change(function() {
var values = $(this).val();
if()// condition to check if #captureme option is present in "selectedValue" variable
{
// logic
}
else if() // condition to check if #captureme was not present in "selectedValue" before and is selected now
{
// logic
}
selectedValue = value;
});