如何在jquery mutiselect上调用onblur方法? 就像在我的多选中我有以下值,如果用户选择红色和绿色然后基于我需要从数据库中获取数据
<select multiple="multiple" id="myID" name="myName">
<option value="blue">blue</option>
<option value="red">red</option>
<option value="green">green</option>
</select>
我尝试了click
函数,但是一次只能发送一个选项值,所以在jquery multiselect中查找函数的onblur
或者从multiselect中选择所有值后触发的任何事件我的意思是如果用户在multiselect外单击。
提前感谢。非常感谢任何帮助
答案 0 :(得分:1)
使用JQuery 1.7.1
$('#myID').on('blur', function(){
var selected=[];
$(this).find('option:selected').each(function(i,e){
selected.push(e.value);
});
alert('You selected: ' +selected.join(','));
});
以下是example
答案 1 :(得分:0)
我相信您正在寻找$('#myID').change()
答案 2 :(得分:0)
试试这个:
$("#myID").change(function(){
var selected = $("#myID option:selected").val();
// Do your stuff
});
答案 3 :(得分:0)
使用.blur()方法
var selectedvals = [];
$('#myID').blur(function() {
$('#myID > option:selected').each(function(i, selected) {
selectedvals.push($(selected).val());
});
})
selectedvals
数组包含所选选项的值
答案 4 :(得分:0)
当您添加onblur事件时,它会起作用。像这样......
<select multiple="multiple" id="myID" name="myName" onblur="getVals(this)">
<option value="blue">blue</option>
<option value="red">red</option>
<option value="green">green</option>
function getVals(el) {
var val = $(el).val();
alert(val);
}
如果您选择红色和绿色,它将返回由这样的逗号分隔的两个值 - “红色,绿色”
您只需解析它并将其发送到后端脚本进行处理。