0
<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);
4

5 回答 5

2

你有两个问题:

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>
于 2012-03-06T23:01:49.050 回答
2

您可以通过检查change()事件并比较复选框的值来做到这一点:

$(function(){
  $("#app_box").hide("fast");
  $('[name="app_status"]').change(function(){
    if (this.value == 'complete') {
      alert('complete');
    } else {
      alert('incomplete');
    }
  });
});​

我在这里创建了一个小提琴演示。

于 2012-03-06T23:02:31.280 回答
2

您需要处理收音机上的点击事件:

$(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");
        }
     });
});
于 2012-03-06T23:02:39.870 回答
0

不要检查单选按钮是否被选中,而是检查单选组的值。

于 2012-03-06T22:56:03.017 回答
0

使用 jQuery UI 可能会更好,尤其是模态框:http: //jqueryui.com/demos/dialog/#modal-message

于 2012-03-06T23:00:32.527 回答