jquery检查复选框中的id in function

时间:2013-05-31 17:37:46

标签: javascript jquery

我有一个传入用户名称的函数,复选框的ID将是该名称,我正在尝试通过ID检查jquery,但没有运气。复选框的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)

<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>

似乎不起作用:(

感谢您的帮助。

3 个答案:

答案 0 :(得分:15)

如果是ID,您可以这样做:

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

并在更改采用布尔值的属性时使用prop()

答案 1 :(得分:6)

使用.prop()代替.attr()更改运行时属性,例如已选中和已停用

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

您可以详细了解.prop()

文档中的差异

答案 2 :(得分:0)

我能够使用以下代码获取特定复选框的句柄:

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