选中该复选框时,允许一个数据用于下拉列表

时间:2013-07-16 07:59:36

标签: javascript asp.net asp.net-mvc drop-down-menu checkbox

我想知道如何使用Javascript处理这个问题,当我检查IsPrimary的复选框时,我会将该下拉数据限制为一个唯一的值,它是唯一一个主要关注该下拉值的人

enter image description here

因此,联系人类型中的每个值都必须只有一个主要

这是我的Cshtml

 <p>
            <label for="ddlContactType">
                Contact Type</label>
            <span>
                @Html.DropDownList("ddlContactType", new SelectList(ViewBag.ContactTypeList, "ID", "Display_Value", ContactType), "[Please Select]",
            new Dictionary<string, object>
            {
                {"class"}
            })
            </span>
        </p>
        <p>
            <label for="txtContactValue">
                Contact Value</label>
            <span>
                <input type="text" id="txtContactValue" name="txtContactValue"  inputLong" value="" />
                <input type="checkbox" name="chkIsPrimary" id="chkIsPrimary" value="true" checked="checked" />
                <label>
                    Is Primary?</label>
            </span>
        </p> 

我只想验证我将如何限制联系人类型值。 。我只需要1个IsPrimary每个下拉列表数据,示例i添加一个电子邮件地址并且检查主要复选框它将保存然后当我再次选择电子邮件地址并选中是主要复选框时,通知只有一个IsPrimary in Email地址

谢谢:D

2 个答案:

答案 0 :(得分:1)

使用JQuery:

将类“isPrimaryCheckbox”添加到IsPrimary复选框后。

$(document).ready(function() {
   $(".isPrimaryCheckbox").change(function() {
      if($(this).prop("checked")) {
         $(".isPrimaryCheckbox").not(this).prop("checked", false);
      } 
   });
});

每次更改其中一个复选框时,都会检查是否已选中 - 如果是,则取消选中所有其他复选框。

相同的基本原则可以应用于纯javascript(没有jQuery),但它会更复杂。

答案 1 :(得分:0)

您可以将数据保存在某个隐藏字段中。选中复选框时,如果您的隐藏字段中存在jquery,则表示您x验证。

例如:

<div id="mydiv" style="display:none;"></div>

$("#mycheckbox").click(function(){

   if ($(this).is(':checked')){ 

      if( $("#mydiv").text() == "something" )
        -- do something --
 }  
});