jQuery检查属性

时间:2011-04-12 22:31:49

标签: jquery checkbox

我完全难过了。我不知道为什么这不起作用,对我来说似乎很简单。它应该检查是否选中了复选框并传输文本框的值。相反,这只是在页面加载时弹出警报,然后在此之后没有任何内容。

$(function(){
if($("#same").is(":checked"))
{
    alert("checked");
    $("#name2").val($("#name1").val());
}
else
{
    alert("unchecked");
    $("#name2").val("");
}
});

我尝试过的事情:

if($("#same").attr("checked"))
adding == true on the end
$("#same").click($(this.toggle(...))) // this semi worked but toggled on and off improperly

在询问复选框之前,该复选框的ID为“相同”。

这段代码有什么问题?就像我说我很难过!谢谢:))

编辑1:这里要求的是一个html代码段。

<div class="tkfmheader">Info 2 <span class="tkshcbx">Same as 1 <input type="checkbox" name="same" id="same" /></span></div>

3 个答案:

答案 0 :(得分:2)

这样的函数只在pageload上处理一次。

如果您希望此警报在您每次点击时都执行某项操作,则需要将该功能设置为事件:例如click()事件或change()事件。

您可以尝试以下方式:

// just a default way to assign functions in the ready event:
$(document).ready(function()
{
    // add an event to some element
    // the change event will work too (see link, it says about checkboxes)
    // you can also add an event to every checkbox instead of just #same
    $('#same').click(function()
    {
        // your alert function here
        // you can ask things to #same by using $(this)
    });
});

答案 1 :(得分:0)

尝试:

if($("#same:checked").length > 0)

如果大于0,则检查

答案 2 :(得分:0)

这就是你要找的东西

$(':checkbox').click(function() {
    $(this).is(":checked") ? $("#name2").val($("#name1").val()) : $("#name2").val("");   
});

检查http://jsfiddle.net/XbCAL/1/

处的工作示例