私はおそらく私がばかげているという面白い小さな問題にぶつかってきました。JQueryが複数のドロップダウンオプションを選択するように設定しました
私はこのように少し見える選択ボックスがあります。オプションは、私は、デフォルト値を選択しようとしていた、月の日数を表しており、今31
に上がる
<select id="dom_" name="dom_">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
...
を情報を持つフォームが(編集用に)ロードされたときに、私はそれをかなりうまく動作させることができませんでした。
は、私はいくつかの前のSOの質問で見つかったこのスニペットを使用してみました:$("#dom_ option[value$='" + 2 + "']").attr('selected', true);
この行が実行され、それが選択する第二のオプションを設定しますが、それはまた、同様に、選択に他の2XまたはX2のオプションを設定します。たとえば、12と22も選択されるように設定されます。
の場合は、しかし、私はこれを使用します。
$("#dom_ option").each(function()
{
if ($(this).val() == 2)
{
$(this).attr('selected', true);
}
else
{
$(this).attr('selected', false);
}
});
を次に右のオプションが選択されてしまいますが、SELECT
ボックスは更新されません。
私は手動で$("#dom_").val(2);
を呼び出してボックスを更新する必要があります。
私の質問は、最初のオプションが機能しないのはなぜですか、なぜ2番目のオプションが自動更新されないのですか?
また、$("#dom_")
経由SELECT
オブジェクトを取得し、オプションを取り、trueにselected
の設定に対して、それに.val
を呼び出すの違いは、正確に何ですか?両方とも同じPOST
またはGET
データを返信しますか?
jsFiddleはこれをうまく示しています。
jQuery 1.6.4を使用していますが、jsFiddleの新しいバージョンで同じ問題を再現できます。
この質問が単純すぎる場合はお詫び申し上げます。 JavaScriptとJQueryについてはまだまだアマチュアです。
がリセットされますよう、
else
場合は不要であるあなた」理由がありますhtml属性ではなくjQueryでこれをやっていますか? – Colleen'$("#dom_ option [value = '2'] ")。prop( 'selected'、true);' 2を変数にする必要がない場合... –