【问题标题】:asp.net mvc checkbox uncheck on check of toherasp.net mvc 复选框取消选中对 toher 的检查
【发布时间】:2012-11-24 08:15:48
【问题描述】:

我有一个带有两个复选框的 MVC 2 视图,如下所示:

                    <%: Html.Label("Is Customer")%>
                   <% 
                       accountStatus = Model.AccountStatus == "Customer" ? true : false;
                    %>
                    <%: Html.CheckBox("IsCustomer", accountStatus.Value, new { onclick = "uncheckAll(this);" })%>

我希望如果一个复选框被选中,那么另一个复选框不会被选中。我得到这样的 id:

function uncheckAll(ID) {
    var search_form = document.getElementById('frmAccountEdit');
    var IsTrialAccount = document.getElementById('IsTrialAccount');  // getElementsByTagName("input");
    var IsCustomer = document.getElementById('IsCustomer');

如何做到这一点?

【问题讨论】:

  • 您考虑过使用单选按钮吗?听起来是您正在尝试的理想人选。
  • 不,该表单还有其他复选框,我需要仅在某些情况下检查它们。

标签: javascript jquery asp.net-mvc asp.net-mvc-2


【解决方案1】:

好的,试试下面的。它将清除 IsTrialAccount 和 IsCustomer,然后检查选中的复选框。如果您不希望“IsTrialAccount”具有相同的功能,则不要将其添加到其按钮单击事件并删除“|| inputs[j].name == “IsCustomer””部分

function uncheckAll(Checkbox)
{
    var inputs = document.getElementsByTagName("input");
    for(var j = 0; j < inputs.length; j++) {
      if(inputs[j].type == "checkbox" && 
        (inputs[j].name == "IsTrialAccount" || inputs[j].name == "IsCustomer"))
      {
         inputs[j].checked = false;
      }     
    }
   // Check the selected checkbox
   Checkbox.checked = true;
 }

【讨论】:

  • 感谢您的回复。这将取消选中我不想要的表单的所有复选框。我只想在这两个复选框之间切换。
猜你喜欢
  • 2017-02-08
  • 1970-01-01
  • 2014-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多