Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据自己的click:event从multiselect容器获取所有选定的val()?_Javascript_Jquery_Asp.net Mvc_Asp.net Mvc 3_Multi Select - Fatal编程技术网

Javascript 根据自己的click:event从multiselect容器获取所有选定的val()?

Javascript 根据自己的click:event从multiselect容器获取所有选定的val()?,javascript,jquery,asp.net-mvc,asp.net-mvc-3,multi-select,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,Multi Select,根据以下内容,我需要从一个页面上的多个下拉列表中获取所选值。我有一个通用事件处理程序设置,如果在页面上的任何multiselect上单击一个选择,它将触发一个公共事件。两个问题: 1我如何知道该事件来自哪个muliselect名称? 2如果事件来自同一容器,如何从multiselect click函数中获取.val // generic event for all multiselect $("select").multiselect({ click: function (event,

根据以下内容,我需要从一个页面上的多个下拉列表中获取所选值。我有一个通用事件处理程序设置,如果在页面上的任何multiselect上单击一个选择,它将触发一个公共事件。两个问题:

1我如何知道该事件来自哪个muliselect名称? 2如果事件来自同一容器,如何从multiselect click函数中获取.val

// generic event for all multiselect
$("select").multiselect({
    click: function (event, ui) {
        // 1 - What multiselect container?
        // 2- Get the list of selected values
        var vals = $('#CNames').val();  // This doesn't work if the event was fired from #CNames..null.
        var vals = $('#CAreas').val();  // This works if the event came from #CNames.

您可能可以获取用鼠标单击的select的id

var name = $(this).attr('id');
以及使用

var values = [];
$('select').each(function() {
    $.merge(values, $(this).val());
});
或使用当前选项选择

var values = $(this).val();

来自aliz的代码应该可以工作。尝试按照文档显示的方式绑定它们:

$("select").bind("multiselectclick", function(event, ui){
    var values = [];
    $('select').each(function() {
        $.merge(values, $(this).val());
    }
    alert(values);
});

你想达到什么目标?每次用户选中一个新选项时,是否要生成一个包含两个多选框中所有值的列表?或者您想做一些更简单的事情,比如检测选中了哪个复选框?@rkw:我想在单击任何multiselect项时获取每个multiselect中的所有选定项,然后将每个multiselect选定值传递回服务器。Thx用于回复。第一个用于获取容器id。第二个不返回,第三个在$select内调用时返回null;