为了提高效率,我正在尝试构建一个jQuery函数,该函数可用于共享一个公共类的不同复选框。当用户更改其中一个复选框时,该功能由.change事件触发。诀窍是,我需要捕获已更改复选框的唯一数据。

我的HTML:

Field 123: <input type="checkbox" name="pubfield" value="123" class="pubfield"><br>

Field 999: <input type="checkbox" name="pubfield" value="999" class="pubfield"><br>


我的jQuery函数:

$(function(){
    $( ".pubfield" ).change(function() {
        var change_field    = $('.pubfield').val();
        var showit          = $('input.pubfield').prop('checked'); /* true or false */
        alert('Updating field ' + change_field + ' to '  + showit);
    });
});


可以预测,即使更改了第二个复选框,该函数也仅捕获第一个复选框字段的输入值和复选框状态。如何重用相同的功能,但仅从已更改的复选框中捕获唯一数据?

最佳答案

尝试:

$(function(){
   $( ".pubfield" ).change(function() {
       var change_field    = $(this).val();
       var showit          = $(this).prop('checked'); /* true or false */
       alert('Updating field ' + change_field + ' to '  + showit);
   });
});


元素$(this)表示触发事件的元素...

08-19 19:22