JavaScript uncaught Typeerror

JavaScript uncaught Typeerror

本文关键字:Typeerror uncaught JavaScript      更新时间:2023-09-26

我想知道该复选框是否已通过JavaScript选中。Html(PHP) 按钮的代码是:

<div class="span8 offset8" style="text-align:right;">
                                        <div class="helpIcon">
                                            <a href="javascript:void(0);" original-title="."></a>
                                        </div>
                                        <span class="skip-analysis" id="emptyFolder"><input type="checkbox" name="emptyFolder" class="_nosearch"> <span>Ignore up to date files</span></span>

JS代码是:

skipCopy1 = that.element.find('#emptyFolder input[name=emptyFolder]');
console.dir(skipCopy1);
var skipCopy = that.skipCopy1.is(':checked');
console.log('skipcopy 1st '+skipCopy);

我在Chrome控制台中收到一个错误,说:未捕获的类型错误:无法读取未定义的属性"is"(第 15 行中的"is")

我哪里出错了? 我只需要 skipCopy 变量中的真假值。提前谢谢。

看起来skipCopy1是一个变量。如果是这样,请从以下位置删除that.

var skipCopy = that.skipCopy1.is(':checked');
//             ^^^^^---- remove this

或者,如果您打算将skipCopy1作为 that 的属性,则需要将其设置在上一行:

    that.skipCopy1 = that.element.find('#emptyFolder input[name=emptyFolder]');
//  ^^^^^---- add this

最简单的方法是使用 JQuery 库,如下所示:

// First method - Recommended
$('#checkbox').prop('checked')  // Boolean true
// Second method - Makes code more readable (e.g. in if statements)
$('#checkbox').is(':checked')  // Boolean true
// Third method - Selecting the checkbox & filtering by :checked selector
$('#checkbox:checked').length  // Integer >0
$('#checkbox:checked').size()  // .size() can be used instead of .length
// Fourth method - Getting DOM object reference
$('#checkbox').get(0).checked  // Boolean true
$('#checkbox')[0].checked      // Boolean true (same as above)

.HTML:

<input id="checkbox"  type="checkbox" name="one" value="1" checked="checked">
<input id="checkbox2" type="checkbox" name="two" value="2">
<input id="checkbox3" type="checkbox" name="thr" value="3">

更多信息: http://jquery-howto.blogspot.be/2013/02/jquery-test-check-if-checkbox-checked.html