无法使javascript正常运行

时间:2013-12-24 19:57:13

标签: javascript jquery html jsfiddle checked

我有一个jsfiddle,但我无法使javascript正确运行。小提琴在http://jsfiddle.net/davidm1181/suW6f/

正在停止它的javascript代码如下:

if ($(this).checked()) {
    $('.r1').val('true');
}

问题是,我在生产Web服务器上运行相同的代码并且工作正常,并且在我的Web服务器上如果我将checked()更改为刚检查,代码仍将运行,但它将始终返回true 。有人可以帮我理解这个吗?谢谢。

4 个答案:

答案 0 :(得分:3)

结果说明:

jquery对象没有.checked()函数。因此,当您调用$(this).checked()时,会导致抛出以下错误:

TypeError: Object [object Object] has no method 'checked'.

此外,jquery对象没有checked属性。因此,$(this).checked的值为undefined,这被认为是假的。 (你说它总是返回true,但我认为这是一个错误。)

检查复选框是否已选中的正确方法:

您可以使用以下任何一项:

if (this.checked) {
if ($(this).is(':checked')) {
if ($(this).prop('checked')) {

你使用的是风格问题。

答案 1 :(得分:1)

<强> JSFIDDLE DEMO

使用

if(this.checked) or if($(this).is(':checked'))

而不是

if ($(this).checked()) {

代码:

$(':checkbox').change(function () {
    $('.r1').val(this.checked);
    $('.r2').val(this.checked);
});

答案 2 :(得分:0)

当我必须验证是否选中了复选框时,我使用的是(':checked'):

if ($(this).is(':checked')) {
    $('.r1').val('true');
}

答案 3 :(得分:0)

在jquery或javascript

中没有任何名为.checked()的东西

你可以使用

  1. .checked - 仅与this一起使用
  2. .is(":checked") - 与$(this)
  3. 一起使用
  4. .prop("checked") - 与$(this)
  5. 一起使用

    我制作了一个小提琴here