不工作 jQuery 右键单击复选框时更改功能
Not working jQuery change function when right click checkbox
我有以下问题,
有 ,如果我右键单击 table 行,复选框会被选中。
这是右键复选框选中的代码。
$('tr.check').contextmenu(function (e) {
$(this).find('input[type="checkbox"].check_row').prop('checked', true);
return false;
});
但问题是我想在更改复选框后获得 row id
号码。
正确的做法是什么?
当您使用 prop()
或 attr()
方法选中或取消选中时,您必须使用 change()
或 trigger('change')
.
触发事件
$('tr.check').contextmenu(function (e) {
$(this).find('input[type="checkbox"].check_row').prop('checked', true);
$(this).find('input[type="checkbox"].check_row').change(); // trigger change event
//OR
//$(this).find('input[type="checkbox"].check_row').trigger('change');
return false;
})
;
我找到了我真正想要的那个。
function populate_context_menu($object){
var ischecked = $($object).is(':checked');
var jsonString = JSON.stringify(values);
var ischecked = $($object).is(':checked');
if (ischecked)
{
$("#checked-a").fadeIn(200);
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "files/dropdown_menu",
dataType: 'json',
data: {files_ids: jsonString},
success: function (res) {
if (res)
{
$("div#result").show();
$("div#value").html(res.jsonString);
}
}
});
} else {
if (values.length === 0) {
$("#checked-a").fadeOut(200);
}
}
};
$(".selected_check").change(function () {
populate_context_menu(this);
});
这是为了右键单击
$('tr.check').contextmenu(function (e) {
$cb = $(this).find('input[type="checkbox"].selected_check');
$($cb).attr('checked', 'checked');
populate_context_menu($cb);
return false;
});
我有以下问题,
有
这是右键复选框选中的代码。
$('tr.check').contextmenu(function (e) {
$(this).find('input[type="checkbox"].check_row').prop('checked', true);
return false;
});
但问题是我想在更改复选框后获得 row id
号码。
正确的做法是什么?
当您使用 prop()
或 attr()
方法选中或取消选中时,您必须使用 change()
或 trigger('change')
.
$('tr.check').contextmenu(function (e) {
$(this).find('input[type="checkbox"].check_row').prop('checked', true);
$(this).find('input[type="checkbox"].check_row').change(); // trigger change event
//OR
//$(this).find('input[type="checkbox"].check_row').trigger('change');
return false;
})
;
我找到了我真正想要的那个。
function populate_context_menu($object){
var ischecked = $($object).is(':checked');
var jsonString = JSON.stringify(values);
var ischecked = $($object).is(':checked');
if (ischecked)
{
$("#checked-a").fadeIn(200);
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>" + "files/dropdown_menu",
dataType: 'json',
data: {files_ids: jsonString},
success: function (res) {
if (res)
{
$("div#result").show();
$("div#value").html(res.jsonString);
}
}
});
} else {
if (values.length === 0) {
$("#checked-a").fadeOut(200);
}
}
};
$(".selected_check").change(function () {
populate_context_menu(this);
});
这是为了右键单击
$('tr.check').contextmenu(function (e) {
$cb = $(this).find('input[type="checkbox"].selected_check');
$($cb).attr('checked', 'checked');
populate_context_menu($cb);
return false;
});