我有一个我同意Checkbox
,当选中或取消选中时,它使用JS在id="submit1"
的按钮上切换已禁用的设置。但是,我添加了更多按钮,现在它需要切换所有这些按钮,而不仅仅是第一个按钮,因此ID
不再起作用。
checkbox
的当前代码:
<input type="checkbox" checked id="agree" name="agree" value="ON" onclick="javascript: if(document.getElementById('agree').checked==true){document.getElementByID('submit1').disabled=false;}else{document.getElementByID('submit1').disabled=true;}">
对于button
:
<button onclick="do_file_form_submit(7);" id="submit1" name="submit1" class="custombutton">Button Number 1</button>
所以,我添加了更多buttons
,所以我需要两件事:
我需要JS
或jquery
在选中此框时循环并切换EACH按钮,而不只是单个按钮(带有ID的第一个按钮)。
checked
,如果没有,请循环浏览并disable
所有这些按钮。非常感谢您提供任何帮助!!
克雷格
答案 0 :(得分:2)
HTML:
<input type="checkbox" checked id="agree" name="agree" value="ON">
<button onclick="do_file_form_submit(7);" id="submit1" name="submit1" class="custombutton">Button Number 1</button>
<button onclick="do_file_form_submit(7);" id="submit2" name="submit2" class="custombutton">Button Number 2</button>
<强> jQuery的:强>
$('#agree').change(function () {
if ($(this).is(":checked")) {
$('button').attr("disabled", false);
} else {
$('button').attr("disabled", true);
}
});
答案 1 :(得分:2)
function checkStatus() {
if ($('#agree_again').is(":checked")) {
$(".custombutton").attr('disabled', false);
}
else {
$(".custombutton").attr('disabled', true);
}
}
$("#agree_again").change(function () {
checkStatus();
});
你可以在body load上调用这个checkStatus函数来检查它是否在页面加载时被检查。
答案 2 :(得分:0)
为所有按钮指定相同的类名。 然后使用类名称作为选择器。
document.getElementByClassName("custombutton").disabled=false
答案 3 :(得分:0)
试试这段代码。希望这能解决您的问题
$(function(){
//$("#agree").is(":checked")
EnableDisableButton(!$("#agree").is(":checked"))
$("#agree").click(function(){
EnableDisableButton(!$("#agree").is(":checked"));
})
function EnableDisableButton(isEnable){
$(".custombutton").attr("disabled",isEnable);
}
});
答案 4 :(得分:0)
非常简单
<input type="checkbox" checked="checked" id="agree" name="agree" value="ON"
class="agree_chk" />
<input type="button" class="button" id="button1" value="button1"/>
<input type="button" class="button" id="button1" value="button2"/>
<input type="button" class="button" id="button1" value="button3"/>
<input type="button" class="button" id="button1" value="button4"/>
和javascript是
$(document).on('click','#agree',function() {
$('.button').attr({disabled:!$(this).is(':checked')})
});
js fiddle http://jsfiddle.net/5V2Y4/
答案 5 :(得分:-1)
试试这段代码
<input type="checkbox" checked id="agree" name="agree" value="ON" onclick="change()">
<input type="button" id="button1">
<input type="button" id="button2">
<input type="button" id="button3">
<script>
$(document).ready(function() {
change();
});
function change() {
var i = 1;
for (i = 1; i <= 3; i++) {
var btnid = "button" + i;
if (document.getElementById("agree").checked) {
document.getElementById(btnid).disabled = false;
} else {
document.getElementById(btnid).disabled = true;
}
}
}
</script>
您可以随着按钮数量的变化更改限制