2017-08-22 15 views
0

$(".class").change(function(){または$("#id").change(function(){のようなものを使用する方法がありますか?そのようなオプション要素のvalue属性の値を変更するには?html要素の "value"属性の値を変更するjQuery関数

<select> 
    <option value="changeThis">opt</option> 
</select> 

私は、リレーショナル・データベースからの選択リストの各オプションを生成するために、forループを使用していますので、私は、彼らがユニークだように、自動的に値をインクリメントする機能を持っている必要があります。


新コード:

<div class="facilitySelection"> 
    <select name="Facility" class="form-control"> 
     <option selected disabled>Select a facility...</option> 
     @{ 
      var i = 1; 

      foreach (var item in Model) 
      { 
      <option value="@i">@Html.DisplayFor(modelItem => item.FacilityName</option> 
      i++; 
      } 
     } 
    </select> 
</div> 

新しいコード:

私はIDと名前フィールドで、施設のテーブルを持っています。今すぐforeachループを使用して、スクリプトブロック内の変数から番号を生成するのではなく、データベースからIDを直接使用して、データベース行のIDと名前を正しく確認してください。

<div class="facilitySelection"> 
    <select id="Facility" name="Facility" class="form-control"> 
     <option selected disabled>Select a facility...</option> 
     @{ 
      foreach(var f in ViewBag.Facilities) 
      { 
       <option value="@f.Id">@f.Name</option> 
      } 
     } 
    </select> 
</div> 
+1

なぜオプションを設定しているのですか?私はあなたがJSでオプションを作成していると仮定しますか? – Thijs

+0

@Thijs私は自分のコードで質問に編集しました。 – ScopeY

+0

JSでオプションを生成するのではなく、MVCなどを使用しています。なぜそこにカウンタを走らせて、その値のために使うのでしょうか。そうすれば、JSのクライアント側で問題を「修正」する必要はありません。おそらく、これは役に立ちます:https://stackoverflow.com/a/7534952/1244780 – Thijs

答えて

4

あなたはattr機能と属性を変更:

$("selector-for-the-option").attr("value", "new value"); 

option要素のvaluevaluevalueinputとは異なり要素と呼ばれる、反射特性を持っているので、あなたはまた、propを使用することができますプロパティはではないvalue属性の反映プロパティ:

$("selector-for-the-option").prop("value", "new value"); 
+0

パーフェクト。親切にありがとう。 – ScopeY

関連する問題