Jquery按id在函数中检查复选框

jquery check checkbox by id in function

本文关键字:检查 复选框 函数 id Jquery      更新时间:2023-09-26

我有一个函数,其中用户的名字传递进来,复选框的ID将是那个名字,我试图让jquery检查它的ID,但没有运气。复选框的ID字段由每个用户名调用,因此它需要找到传入的'name'调用的正确复选框并进行检查。

function send_new_message(name)
{
var html = new_message_form();
var div = $(html);
//Set user clicked to checked
//$("#dave").prop("checked", true);
$("#" + name).prop('checked', true);   
div.find('.send').click(function()
{
//Remove any error message
$("p.error").html('');
//Error check
var name = $("input.name").val();
var message = $("#message").val();
if(message==""){
$(".error").html('This filed is required!');
$("#message").focus();  
return false;  
}
//Send message to be processed
var post_data = name + "##@##" + message;
$.post(
'frames/process_messages.php',
{name: name, message: message},
function(result){
alert(result);
}
);      
//Close
//div.dialog('close');
});
div.dialog(
{
title:"Send New Message",
width: 450,
show: {
effect: "fold",
duration: 500
},
hide: {
effect: "explode",
duration: 500
},
close: function(){
$(this).dialog("destroy");
$(this).remove();       
}
});
}

HTML (PHP echo's)

<tr><td><input class=''names'' id='''.$users[$i]['name'].''' type=''checkbox'' name=''names[]'' value='''.$users[$i]['id'].''' /></td><td>'.$users[$i]['name'].'</td></tr>

呈现
<tr><td><input class='names' id='dave' type='checkbox' name='names[]' value='3' /></td><td>dave</td></tr>

似乎不起作用:

谢谢你的帮助

如果是ID,则可以:

$("#" + name).prop('checked', true);
在改变接受布尔值的属性时使用prop()

使用.prop()而不是.attr()来更改运行时属性,如checked和disabled

$('#'+name).prop('checked', true);

您可以在.prop()

的文档中阅读更多关于差异的信息

我可以用下面的代码获得一个特定复选框的句柄:

var myCheckbox=$("input[name='checkbox_name']");
myCheckbox.change(function(){
     if(this.checked){
          alert('checked');
     } else {
          alert('unchecked');
     }
});