0

JavaScriptを使用してこれを処理する方法を知りたいです。ccheckbox をチェックするIsPrimaryと、そのドロップダウン データが、そのドロップダウン値のプライマリである唯一の値になるように制限されます。

ここに画像の説明を入力

そのため、Contact Type の各値にはプライマリが 1 つだけ含まれている必要があります

これは私の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> 

連絡先タイプの値をどのように制限するかを検証したいだけです。ドロップダウン リスト データごとに IsPrimary が 1 つだけ必要です。たとえば、1 つの電子メール アドレスを追加し、IsPrimary チェックボックスをオンにすると、[電子メール アドレスをもう一度] を選択して IsPrimary チェックボックスをオンにすると保存されます。メールアドレスに IsPrimary が 1 つしかないという国籍があります。

ありがとう

4

2 に答える 2

1

JQuery の使用:

クラス「isPrimaryCheckbox」を IsPrimary チェックボックスに追加した後。

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

チェックボックスの 1 つが変更されるたびに、チェックされているかどうかがチェックされます。チェックされている場合は、他のすべてのチェックが解除されます。

純粋な 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 に答える