0

我想知道如何使用 JavaScript 来处理这个问题。当我选中我的 ccheckbox 时,IsPrimary我会将该下拉数据限制为一个唯一值,它是该下拉值的唯一主要值。

在此处输入图像描述

因此,Contact Type 中的每个值都必须只有一个主值

这是我的 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 每个下拉列表数据。例如,我添加了一个电子邮件地址并选中了 IsPrimary 复选框,然后当我再次选择电子邮件地址并选中 IsPrimary 复选框时,它将保存。有一个原因是电子邮件地址中只有一个 IsPrimary。

感谢:D

4

2 回答 2

1

使用 JQuery:

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

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

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

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

于 2013-07-16T08:12:43.450 回答
0

您可以将数据保存在某个隐藏字段中。比,当检查复选框时,您可以验证隐藏字段中jquery是否x存在。

例如 :

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

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

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

      if( $("#mydiv").text() == "something" )
        -- do something --
 }  
});
于 2013-07-16T12:07:18.060 回答