我试图在JQuery UI对话框中调用changeShowTips()方法, 但是该方法总是返回“NOT checked !!!!”
似乎是什么问题?
<div id="dialog-tip">
<div>
<input type="checkbox" name="showTips" value="showTips" checked="checked" onclick="changeShowTips();"/>Show tips on start up
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
showTips()
});
function showTips() {
$("#dialog-tip").dialog({
height: 520,
width: 515,
modal: true,
}).parents('.ui-dialog:eq(0)').wrap('<div class="black-tie"></div>');
}
function changeShowTips() {
if (showTips.checked == true) {
alert('checked!!!');
}
else {
alert('NOT checked!!!');
}
}
</script>
答案 0 :(得分:2)
你有一些凌乱的jQuery
<div id="dialog-tip">
<div>
<input type="checkbox" name="showTips" value="showTips" checked="checked"/>Show tips on start up
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
showTips()
$('input', '#dialog-tip').click(changeShowTips()); // do not have inline js, bind it here
});
function showTips() {
$("#dialog-tip").dialog({
height: 520,
width: 515,
modal: true,
}).parents('.ui-dialog').eq(0).wrap('<div class="black-tie"></div>');
// it is faster for sizzle to use a standard css selector to modify the jquery object and then use a jquery specific selector 'eq' separately
// instead of combining css/jquery selectors in one statement
}
function changeShowTips() {
if ($('input', '#dialog-tip').is(':checked')) { // there is jQuery for this - you should also compare and not assign
alert('checked!!!');
}
else {
alert('NOT checked!!!');
}
}
</script>
答案 1 :(得分:2)
那是因为在你的代码中showTips
指的是你的函数而不是目标元素。
<input type="checkbox"
name="showTips"
value="showTips"
checked="checked"
onclick="changeShowTips(this);"
/> Show tips on start up
function changeShowTips(showTips) {
if (showTips.checked) {
alert('checked!!!');
}
else {
alert('NOT checked!!!');
}
}
答案 2 :(得分:1)
试试这个......
为输入提供showTips的ID以及名称...
function changeShowTips() {
if ($('#showTips').is(':checked')) {
alert('checked!!!');
}
else {
alert('NOT checked!!!');
}
}
答案 3 :(得分:0)
语法明智地看起来你正试图使用vanilla JS而不是jQuery来检查复选框。
jQuery选择器看起来像这个$([...]),通常你用它来选择类$(“。someclass”)或ids $(“#someid”)。如果您确实不想为输入字段提供ID,请查看文档:{{3}}
然后您可以使用$([...])。prop(“checked”)查看是否已选中。