0

データベースからcheckboxforとtextboxforを設定しているビューがあります。モデル内のレコード数に応じて、これらの倍数があります。これはすべて正常に機能しています。しかし今、ボックスのチェックを外した場合に適切なテキストボックスを空白にするスクリプトが必要です。スクリプトは実行されていますが、テキストボックスが見つからないようです-日曜日にこの7つの方法を試しましたが、値を空の文字列に設定する行に到達すると、先に進み、何も起こりません. ソース コードを表示すると、変数にあるのは、操作しようとしているテキスト ボックスの ID です。私はこれで2日間髪を引っ張っています。任意の支援をいただければ幸いです。

スクリプトは次のとおりです。

<script type="text/javascript">
    $(document).ready(function () {
        $('.chkbox').live('click', function () {
            if ( ! $(this).attr('checked')) 
                {
                var myid = "txtbox_" + $(this).attr('id');
                var varempty = '';
                $("#" + myid).val = (varempty);
            }

        });
    });

ここで、checkboxfor/textboxfor を作成します。

@For x = 0 To Model.Count - 1
      Dim i As Integer = x
      @&lt;tr&gt;
      &lt;td class="checkboxcolumn"&gt;
      @Html.HiddenFor(Function(model) model(i).Soft_ID)
      @Html.HiddenFor(Function(model) model(i).ESR_Soft_ID)
      @Html.CheckBoxFor(Function(model) model(i).Soft_Checked, New With {.id = Model(i).Soft_ID.ToString, .class = "chkbox"})
      &lt;/td&gt;
      &lt;td class="checkcolumn"&gt;
      @Html.Label(Model(i).Soft_Title)
      &lt;/td&gt;
      &lt;td class="checkcolumn"&gt;
      @Html.TextBoxFor(Function(model) model(i).License_Key, New With {.size = "50", .id = "txtbox_" + Model(i).Soft_ID.ToString})
      &lt;/td&gt;
      &lt;/tr&gt;
   Next

そして、これがページソースでレンダリングされたもので、テキストボックスのIDが「txtbox_x」であることを示しています。これは、スクリプトにまとめているものと一致します。

<tr>
      <td class="checkboxcolumn">
      <input data-val="true" data-val-number="The field Soft_ID must be a number." data-val-required="The Soft_ID field is required." name="[0].Soft_ID" type="hidden" value="1" />
      <input data-val="true" data-val-number="The field ESR_Soft_ID must be a number." data-val-required="The ESR_Soft_ID field is required." name="[0].ESR_Soft_ID" type="hidden" value="17" />
      <input checked="checked" class="chkbox" data-val="true" data-val-required="The Soft_Checked field is required." id="1" name="[0].Soft_Checked" type="checkbox" value="true" /><input name="[0].Soft_Checked" type="hidden" value="false" />

      </td>
      <td class="checkcolumn">
      <label for="Adobe_Writer">Adobe Writer</label>
      </td>
      <td class="checkcolumn">
      <input id="txtbox_1" name="[0].License_Key" size="50" type="text" value="adobe key" />
      </td>
      </tr>

どんな支援も大歓迎です!私はこれで2日間壁に頭をぶつけてきました。:eq(index) の設定、[input id=variable] の設定、およびその他多数の設定を試みましたが、成功しませんでした。チェックボックスがクリックされたときにスクリプトを起動し、チェックボックスのIDを適切に取得し、関連するテキストボックスの名前を適切に作成します-フィールドを見つけてvalを空のテキストに設定するようには見えません。Firebug でデバッグすると、最後の行にヒットし、スクリプトを終了するだけです。

また、私は MVC と jQuery を初めて使用するので、適切に行っていない場合は事前にお詫び申し上げます。

4

1 に答える 1

0

これは間違った構文です - $("#" + myid).val = (varempty); $("#" + myid).val(varempty); である必要があります。

于 2012-01-17T23:51:09.277 に答える