Javascript JQuery隐藏复选框检查,但不取消选中
我已经为我正在工作的站点创建了一个替换img复选框。我可以成功地将复选框设置为选中,但不能取消选中。我可以在检查中看到这种变化 代码有什么问题?页面中没有错误。谢谢 HTML是:Javascript JQuery隐藏复选框检查,但不取消选中,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我已经为我正在工作的站点创建了一个替换img复选框。我可以成功地将复选框设置为选中,但不能取消选中。我可以在检查中看到这种变化 代码有什么问题?页面中没有错误。谢谢 HTML是: <input type="checkbox" id="AcceptTerms_check" name="AcceptTerms_check" style="display:none;"> <img class="chk-img" id="AcceptTerms" onclick="CheckboxCl
<input type="checkbox" id="AcceptTerms_check" name="AcceptTerms_check" style="display:none;">
<img class="chk-img" id="AcceptTerms" onclick="CheckboxClick(this);" src="../../../wp-content/uploads/misc/notselected.png">
<span id="ts-cs-accept">I have read and accepted the terms</span>.
始终使用带有复选框的
prop
,因为您可以直接使用true
和false
值。您还可以大大减少代码,而不必重复复杂的jQuery选择器:
function CheckboxClick(element) {
var $checkbox = jQuery('input:checkbox[name=' + element.id + '_check]')
if($checkbox.prop("checked")) {
$checkbox.prop('checked', false);
jQuery(element).attr("src", "../../../wp-content/uploads/misc/notselected.png");
} else {
$checkbox.prop('checked', true);
jQuery(element).attr("src", "../../../wp-content/uploads/misc/selected.png");
};
};
这可以进一步简化,但我希望您仍然能够识别代码:)
e、 g.您可以使用以下选项进行切换:
$checkbox.prop("checked", !$checkbox.prop("checked"));
更新。。。不要在jQuery中使用基于属性的事件(例如,onclick=
),请使用jQuery方式:
请尝试以下方法:
始终使用带有复选框的
prop
,因为您可以直接使用true
和false
值。您还可以大大减少代码,而不必重复复杂的jQuery选择器:
function CheckboxClick(element) {
var $checkbox = jQuery('input:checkbox[name=' + element.id + '_check]')
if($checkbox.prop("checked")) {
$checkbox.prop('checked', false);
jQuery(element).attr("src", "../../../wp-content/uploads/misc/notselected.png");
} else {
$checkbox.prop('checked', true);
jQuery(element).attr("src", "../../../wp-content/uploads/misc/selected.png");
};
};
这可以进一步简化,但我希望您仍然能够识别代码:)
e、 g.您可以使用以下选项进行切换:
$checkbox.prop("checked", !$checkbox.prop("checked"));
更新。。。不要在jQuery中使用基于属性的事件(例如,onclick=
),请使用jQuery方式:
请尝试以下方法:
使用
.prop()
代替.attr()
使用.prop()
代替。attr()
不是需要提供的布尔值。对与错,而不是“对”与“错”嘿,真蓝澳大利亚人,又是一个深夜!您的建议适用于更改图像,但我看不到复选框(在inspect中)更改为checked和back。我用alert(jQuery('input:checkbox[name='+element.id+'\u check]').val()添加了一个警报代码>在代码的末尾,警报将始终显示on
。@TheRealPapa:添加了实用工作小提琴。如果你使用一个奇怪的浏览器,你可能需要在图像中添加alt
文本才能在小提琴中看到它。太棒了,非常感谢!如果你感兴趣的话,我有一些有报酬的工作。我如何通过电子邮件与您联系?很高兴这有帮助。浏览我的网站链接联系人页面。我已经收到了足够多的垃圾邮件,但没有在这里发布:)干杯。这不是您需要提供的布尔值。对与错,而不是“对”与“错”嘿,真蓝澳大利亚人,又是一个深夜!您的建议适用于更改图像,但我看不到复选框(在inspect中)更改为checked和back。我用alert(jQuery('input:checkbox[name='+element.id+'\u check]').val()添加了一个警报代码>在代码的末尾,警报将始终显示on
。@TheRealPapa:添加了实用工作小提琴。如果你使用一个奇怪的浏览器,你可能需要在图像中添加alt
文本才能在小提琴中看到它。太棒了,非常感谢!如果你感兴趣的话,我有一些有报酬的工作。我如何通过电子邮件与您联系?很高兴这有帮助。浏览我的网站链接联系人页面。我已经收到了足够多的垃圾邮件,但没有在这里发布:)干杯。