1

虽然这听起来很简单,但由于我只能在 select 元素上使用 change() 触发器,事情变得复杂了。我正在使用'Chosen' jQuery 插件,它基本上修改了页面上的多选框。

Whenever a item is selected or unselected, the plugin triggers the change event on the original select element. 我显然能够获得所有未选择的项目,但我需要一个刚刚未选择的导致更改事件触发的项目。

所以我有以下功能,中间的位是我需要捕获刚刚未选中的项目。#cho 是原始选择元素的 id。

$("#cho").chosen().change( function() {

// Need code here to capture what item was just unselected, if any...

})
4

3 回答 3

3

当用户更改复选框时存储值。

var preVal;

$("input[name='g']").on("change",function(e){ if(preVal){

    alert(preVal);
}

preVal=$(this).val();

});

检查这个http://jsfiddle.net/fcpfm/

于 2013-03-13T11:50:53.523 回答
2

1.使用隐藏字段

2.隐藏字段值最初为空。

3.Onchange 将选定的值放在隐藏字段中。

4.如果再次发生onchange,隐藏字段值是之前选择的值。

$("#cho").chosen().change( function() {

 var hidvalue =  $('#hiddenfield').val();
 if (hidvalue ) {
   //Get the previously selected ids
    var prev_ids = $('#hiddenfield').val();
   //Then Update currently selected ids  
    $('#hiddenfield').val('currently selected ids');
 } else {
     //Update currently selected ids  
    $('#hiddenfield').val('currently selected ids');  
 }

})
于 2013-03-13T11:27:23.923 回答
1

尝试使用变量来存储所选项目。每次更改项目时更新它。我无法添加评论。这就是为什么我将其发布为答案。

于 2013-03-13T11:26:30.520 回答