我想制作一个按钮,当复选框为false时,该按钮将被禁用。但prop('disabled', false);
无效。
$(function() {
$(this).click(function() {
if ($('#аgree').prop(':checked')) {
$('#button').prop('disabled', false);
} else {
$('#button').prop('disabled', true);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="text-center">З правилами анкетування ознайомлений(а) і згоден(на) @Html.CheckBox("Agree", false, new { id = "agree" }) </p>
<p class="text-center"><input type="button" id="button" disabled="disabled" value="Пройти анкетування" onclick="location.href='@Url.Action("Form")'" /></p>
答案 0 :(得分:2)
在您的代码中,this
指的是DOM。
将其更改为
$("#agree").change(function() {
if ($(this).is(':checked')) {
$('#button').prop('disabled', false);
} else {
$('#button').prop('disabled', true);
}
});
在事件处理程序中,this
指的是触发change事件的元素。
或简单地说:
$("#agree").click(function() {
$('#button').prop('disabled', !$(this).is(':checked'));
});
答案 1 :(得分:1)
您可以尝试删除该属性。
$('#button').removeAttr('disabled')
答案 2 :(得分:0)
检查是否已使用.is(":checked")
选中该复选框,
另外,请在复选框上听取更改事件。
下面是一些修改后的代码(以使其在此处工作)
$(function() {
$('#agree').change(function() {
if ($(this).is(':checked')) {
$('#button').prop('disabled', false);
} else {
$('#button').prop('disabled', true);
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="text-center">З правилами анкетування ознайомлений(а) і згоден(на) <input type=checkbox id=agree> </p>
<p class="text-center"><input type="button" id="button" disabled="disabled" value="Пройти анкетування" onclick="location.href='@Url.Action("Form")'" /></p>
&#13;
答案 3 :(得分:0)
要禁用按钮,您可以使用:
$('#button').attr('disabled', 'disabled');
要激活按钮,您可以使用:
$('#button').attr('disabled', '');