您好我已经关注了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');
或 $( '选择#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自动生成的,必须以正确的名称发布到服务器;
答案 0 :(得分:3)
试试这个:
$("#additionalDataForm\\.motoForm\\.cascoForm\\.ownerClaims\\.claimsLastYears options")
.
中的id
,给jQuery的印象是它不是类选择器。要告诉jQuery不要将它视为类选择器,你需要逃避这些点。
答案 1 :(得分:1)
使用:
$("select[name='additionalDataForm.motoForm.cascoForm.ownerClaims.claimsLastYears']")[0].options
答案 2 :(得分:1)
使用具有复杂名称的ID选择元素的另一种方法是使用本机JavaScript DOM方法:
$("option", document.getElementById("additionalDataForm.motoForm.cascoForm ..."))
.each(function() {
// ...
});