Jquery 复选框单击事件未激发

Jquery 复选框单击事件未激发,jquery,Jquery,我得到了这个js(也尝试了“更改”,结果相同) 哪个应该设置此复选框的值 <input class="tag-checkbox" type="checkbox" name="tag[]" value="' . $value['name'] . '" /> 进入这个文本字段 <input id="tag-field" type="text" name="product-tag" /> 但不会触发该事件,且textfield保持不变。我没有错误消息,所以脚本有问题

我得到了这个js(也尝试了“更改”,结果相同)

哪个应该设置此复选框的值

<input class="tag-checkbox" type="checkbox" name="tag[]" value="' . $value['name'] . '" />

进入这个文本字段

<input id="tag-field" type="text" name="product-tag" />

但不会触发该事件,且textfield保持不变。我没有错误消息,所以脚本有问题吗?

尝试直接使用
$(此)

$("input.tag-checkbox").change(function() {

    if ($(this).is(':checked')) {
        var tag = $(this).val();
        $('#tag-field').val(tag);
        return false;
    }

});
工作示例:


无论如何,脚本中的问题是您在该检查中输入了一个拼写错误(C是大写,然后不是)

if语句中的变量拼写错误。它应该是“thisCheck”,但您有“thisCheck”(无大写字母C)。一旦你改变了它,它就会起作用。

你有两种情况来命名这个支票

更正的代码是

 $("input[class='tag-checkbox']").live("click",function(){
        var thisCheck = $(this);
        if (thisCheck.is (':checked')){
            var tag = $(this).val();
            $("#tag-field").val(tag);
            return false;
        }

});
演示

一些建议

您可以直接使用jquery类选择器来代替使用
input[class='tag-checkbox']
。作为

input.tag-checkbox

第二,为什么您真的需要此检查?您可以直接使用此检查。我只是打字打错了($this),而不是($this)。检查更新的版本。它现在确实工作了,我猜js文件(外部)是第一次缓存的,我会在时间限制结束后接受你的回答,谢谢大家
 $("input[class='tag-checkbox']").live("click",function(){
        var thisCheck = $(this);
        if (thisCheck.is (':checked')){
            var tag = $(this).val();
            $("#tag-field").val(tag);
            return false;
        }

});
input.tag-checkbox