<select><option>(多选),只检查最后的 $(this).val()
<select><option> (multiselect), get last $(this).val() checked ONLY
我有一个 select 选项,带有 onclick
,我只想给出最后一个选项的参数(他的 class 名字)......但是 $(this).val()
return : var1, var2, varN...
<select id="hiddenColumns" onchange="alert($(this).last().val())" multiple="multiple">
<option className="imgClass" >Images</option>
<option className="idClass">Identifiant</option>
</select>
我在这里发现了同样的问题,但我没有找到可行的解决方案。
Get last selected value of multiple select element
为了获得最后选择的选项,您可以使用 jQuery 方法
$(this).find(':selected').last();
或选择器
$(this).find(':selected:last');
然后获取属性 "className" 使用 .attr('className')
总的来说可以是这样
$(this).find(':selected:last').attr('className')
为什么不将侦听器设置为选项而不是 select?
$('#hiddenColumns option').click(function(event) {
if ($(this).is(':selected'))
alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="hiddenColumns" multiple="multiple">
<option className="imgClass" >Images</option>
<option className="idClass">Identifiant</option>
</select>
好的,然后我找到了解决方案:
我建议使用 bootstrap multiselect 作为 multiselect select 选项。
然后你可以在创建列表时使用它,然后你有一个方法来检查最后一个值:
http://davidstutz.github.io/bootstrap-multiselect/
<script type="text/javascript">
$(document).ready(function() {
$('#example-onChange').multiselect({
onChange: function(option, checked, select) {
alert('Changed option ' + $(option).val() + '.');
}
});
});
</script>
我有一个 select 选项,带有 onclick
,我只想给出最后一个选项的参数(他的 class 名字)......但是 $(this).val()
return : var1, var2, varN...
<select id="hiddenColumns" onchange="alert($(this).last().val())" multiple="multiple">
<option className="imgClass" >Images</option>
<option className="idClass">Identifiant</option>
</select>
我在这里发现了同样的问题,但我没有找到可行的解决方案。
Get last selected value of multiple select element
为了获得最后选择的选项,您可以使用 jQuery 方法
$(this).find(':selected').last();
或选择器
$(this).find(':selected:last');
然后获取属性 "className" 使用 .attr('className')
总的来说可以是这样
$(this).find(':selected:last').attr('className')
为什么不将侦听器设置为选项而不是 select?
$('#hiddenColumns option').click(function(event) {
if ($(this).is(':selected'))
alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="hiddenColumns" multiple="multiple">
<option className="imgClass" >Images</option>
<option className="idClass">Identifiant</option>
</select>
好的,然后我找到了解决方案: 我建议使用 bootstrap multiselect 作为 multiselect select 选项。 然后你可以在创建列表时使用它,然后你有一个方法来检查最后一个值: http://davidstutz.github.io/bootstrap-multiselect/
<script type="text/javascript">
$(document).ready(function() {
$('#example-onChange').multiselect({
onChange: function(option, checked, select) {
alert('Changed option ' + $(option).val() + '.');
}
});
});
</script>