![](/img/trans.png)
[英]Issue with changing value attribute on disabled checkbox based on radio button selection
[英]display alert and checkbox based on radio button value
<input type="radio" id="incomplete" name="app_status" value="incomplete">Incomplete Application<br>
<input type="radio" id="complete" name="app_status" value="complete">Complete Application<br><br>
<div id="app_box">
<input type="checkbox" name="application_complete" value="checked" />Checbox policy
<br><br>
</div>
我试图实现一个单选框,以便当用户单击不完整的单选框时,它应该显示一个警报。
如果用户单击完整的单选框,则应显示“ application_complete”框,否则将其隐藏。
这是我试图在我的jquery函数中实现的,我想我的概念可能有点错误:
<script type="text/javascript">
$(function(){
$("#app_box").hide("fast");
if($("#complete").is(':checked')){
$("#app_box").show("fast");
}
elseif($("#incomplete").is(':checked')){
alert("Application will be incomplete");
$("#app_box").hide("fast");
}
});
</script>
谢谢大家。我几乎不需要修改JREAM建议的代码。 如果我选中application_complete框,然后单击不完整的单选框,是否可以再次取消选中application_complete框?
没关系。 我想到了。
$('input[name=application_complete]').attr('checked',false);
您有两个问题:
1:您没有事件处理程序,因此仅在页面加载时检查您的表单(并且没有选择任何开始)
2:您做了“ elseif”,但是在JS中有两个词,因此您的JavaScript坏了,请进行“ else if”,这是解决方案:
<script type="text/javascript">
$(function(){
$("#app_box").hide();
$('input[name=app_status]').change(function() {
var value = $(this).val();
if (value == 'incomplete') {
alert('error msg');
} else if (value =='complete') {
$('#app_box').show();
}
});
});
</script>
您可以通过检查change()
事件并比较复选框的值来做到这一点:
$(function(){
$("#app_box").hide("fast");
$('[name="app_status"]').change(function(){
if (this.value == 'complete') {
alert('complete');
} else {
alert('incomplete');
}
});
});
我在这里创建了一个小提琴来演示。
您需要处理广播中的click事件:
$(function(){
var $app_box = $("#app_box").hide("fast");
$(':radio[name="app_status"]').click(function() {
if (this.value === "complete")
$app_box.show("fast");
else if (this.value === "incomplete") {
alert("Application will be incomplete");
$app_box.hide("fast");
}
});
});
而不是检查单选按钮是否被选中,而是检查单选组的值。
为此,最好使用jQuery UI,尤其是模式框: http : //jqueryui.com/demos/dialog/#modal-message
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.