1

您好,我已关注 Select 对象:

<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.options or     
        $("select[name='additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears']").options

给我未定义的..而且我不知道如何迭代我的选择中的每个选项元素,我不知道会发生什么,因为我的元素 ID 有逗号“。” ? 我无法修复名称,因为它是由 spring 自动生成的,并且必须以正确的名称发布到服务器;

4

3 回答 3

3

尝试这个:

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

中的.sid给 jQuery 一种印象,即它不是一个类选择器。要告诉 jQuery 不要将其视为类选择器,您需要转义点。

于 2013-01-27T14:55:39.853 回答
1

另一种通过 ID 选择具有复杂名称的元素的方法是使用原生 JavaScript DOM 方法:

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

演示:http: //jsfiddle.net/xF9qt/

于 2013-01-27T15:07:27.737 回答
1

利用:

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