1

こんにちは私はオブジェクトの選択をフォローしました:

<select id="additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears" name="additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears" 
class="w-65 me2-casco-claims-last-years">
 <option value="">-- choose--</option>
 <option value="0">0</option>
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3 and more</option>
</select>

jQueryでこのオブジェクトを取得しようとすると

$('additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears');

または$('select#additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears');

[]を取得しています。

だから私はそれを名前から取得しようとします:

var select = $("select[name='additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears']")

そしてそれはうまくいきました、そして私はselect変数にselectオブジェクトを持っています

次に、各オプションを繰り返す必要があるので、オプションコレクションを繰り返して取得しようとしていますが

select.options or     
        $("select[name='additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears']").options

未定義を指定してください。選択した各オプション要素を反復処理する方法がわかりません。要素IDにコンマ「。」が含まれているため、どのように発生するかわかりません。?春に自動生成され、正しい名前でサーバーに投稿する必要があるため、名前を修正できません。

4

3 に答える 3

3

これを試して:

$("#additionalDataForm\\.motoForm\\.cascoForm\\.ownerClaims\\.claimsLastYears options")

.sは、idjQueryに、そうでない場合はクラスセレクターであるという印象を与えます。jQueryにクラスセレクターと見なさないように指示するには、ドットをエスケープする必要があります。

于 2013-01-27T14:55:39.853 に答える
1

使用する:

$("select[name='additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears']")[0].options
于 2013-01-27T14:57:43.157 に答える
1

複雑な名前を持つIDで要素を選択する別の方法は、ネイティブJavaScriptDOMメソッドを使用することです。

$("option", document.getElementById("additionalDataForm.motoForm.cascoForm ..."))
   .each(function() {
      // ...
   });

デモ:http: //jsfiddle.net/xF9qt/

于 2013-01-27T15:07:27.737 に答える