Jquery Multiselect onblur方法

时间:2012-03-20 13:32:59

标签: jquery jquery-ui jquery-plugins

如何在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外单击。

提前感谢。非常感谢任何帮助

5 个答案:

答案 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数组包含所选选项的值

Working example here

答案 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);
}

如果您选择红色和绿色,它将返回由这样的逗号分隔的两个值 - “红色,绿色”

您只需解析它并将其发送到后端脚本进行处理。