Javascript 根据自己的click:event从multiselect容器获取所有选定的val()?
根据以下内容,我需要从一个页面上的多个下拉列表中获取所选值。我有一个通用事件处理程序设置,如果在页面上的任何multiselect上单击一个选择,它将触发一个公共事件。两个问题: 1我如何知道该事件来自哪个muliselect名称? 2如果事件来自同一容器,如何从multiselect click函数中获取.valJavascript 根据自己的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,
// 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;