2017-07-14 4 views
-1

私は部分ビューを作成し、n回同じページで使用しました。部分ビューはアコーディオン(div)内に配置され、チェックボックスをクリックするとテキストボックスを無効にする必要があります。mvc +部分図+チェックボックスクリックイベント

パーシャルビューを使用するページを5回レンダリングしてチェックボックスをクリックすると、最初の部分ビュー内でのみテキストボックスが無効になります。同じ機能が他の機能では機能しません。

デバッガをヒットするすべての部分ビューに配置すると、テキストボックスは無効になりません。これは、最初の部分ビューでのみ機能しますが、残りは失敗します。

以下のコードを見つけてください..私は、上記のように部分図を参照しています

<table> 
    <tr> 
     <th>Select Recurrance:</th> 
     <th>Start DateTime:</th> 
     <th>End DateTime:</th> 
    </tr> 
    <tr> 
     <td> 
      <div style="margin-top: -0.0em;"> 
       <select id="Recurrances" onchange="SubmitRecurrance(this)"> 
        <option selected="selected" value="1">Run Continuosly</option> 
        <option value="2">Run on Schedule</option> 
       </select> 
       <br /> 
       @Html.ValidationMessageFor(model => model.Recurrance) 
      </div> 
     </td> 
     <td> 
      <div style="margin-top: -0.0em;"> 
       @Html.TextBoxFor(model => model.StartDateTime, new { @class = "form-control date-picker", @placeholder = "Start Date&Time", id = "starttime", onkeyup = "FormDirty();" }) 
       <br /> 
       @Html.ValidationMessageFor(model => model.StartDateTime) 
      </div> 
     </td> 
     <td> 
      <div style="margin-top: -0.0em;"> 
       @Html.TextBoxFor(model => model.EndDateTime, new { @class = "form-control date-picker", @placeholder = "End Date&Time", id = "endtime", onkeyup = "FormDirty();" }) 
       <br /> 
       @Html.ValidationMessageFor(model => model.StartDateTime) 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td id="divnoenddate"> 
      <div> 
       <span> No End Date</span>@Html.CheckBox("NoEndDate", false, new { id = "noenddate", onchange = "javascript:ChangeCheckBox()" }) 
       <br /> 
      </div> 
     </td> 
     <td id="recureveryoption"> 
      <span style="font-weight:bold;">Recur Every:</span> <div> 
       <select id="RecurEvery"> 
        <option selected="selected" value="1">Daily</option> 
        <option value="2">Weekly</option> 
        <option value="3">Monthly</option> 
        <option value="4">Yearly</option> 
       </select> 
      </div> 
     </td> 
     <td> 
      <div> 
       <input type="submit" value="Save" style=" width: 8em;height: 2em;text-align: center;padding-top: 6px;background: #0082BF;font-size: 1em; color: #0082BF; cursor:pointer; color:white;font-size: 1em; padding-left:6px; padding-right:6px;padding-bottom:6px;" onclick="SubmitChanges()" /> 
      </div> 
     </td> 

    </tr> 

</table> 

function ChangeCheckBox() 
    { 
     if (document.getElementById("Recurrances").value != 1) 
     { 
      debugger; 
      if (document.getElementById('noenddate').checked == true) 
      { 
       document.getElementById("endtime").disabled = true; 
      } 
      else 
      { 
       document.getElementById("endtime").disabled = false; 
      } 
     } 
    } 

:HTMLヘルパー、次のように使用する]チェックボックスより部分図のパラメータインデックスに送信

<div> 
    @Html.Partial("~/Views/Settings/ScedularControl.cshtml") 
</div> 
+0

詳細情報、コードまたはフィドルなどを提供できますか。 –

+0

私たちにHチェックボックスとそれに付随するJavascriptのTML? – JNYRanger

答えて

0

リストアイテム:

@Html.CheckBox("SameModel["+index+"].Checked",false)