繁体   English   中英

根据单选按钮值显示警报和复选框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM