在下面的jquery中,两个自定义字段(customfield_13272,customfield_13273)是仅在customfield_13271选择列表更改后填充的选择列表。
我正在尝试将两个自定义字段的所选选项分配为列表中第一个不是默认“选择项目”选项的元素。
除了这些字段的选定选项没有改变之外,问题在于,当我尝试提醒其中一个选项的值时,它会返回undefined。
我是否只需要添加一个delay()函数来允许填充自定义字段选项,或者我是否遗漏了其他内容?
BTW,我的jQuery css指令工作正常。
<script type="text/javascript">
jQuery.noConflict()
jQuery(document).ready(function()
{
jQuery('#customfield_13271').change(
function()
{
jQuery('#customfield_13272,#customfield_13273').css('border','4px solid orange');
jQuery('#customfield_13272 option').first().next().attr('selected','selected');
jQuery('#customfield_13273 option').first().next().attr('selected','selected');
alert(jQuery('#customfield_13272 option').first().next().val());//THIS RETURNS UNDEFINED
});
});
</script>
答案 0 :(得分:1)
您可以使用psuedo selecto :eq(index)
来选择指定索引处的元素。
更改此
jQuery('#customfield_13272 option').first().next().attr('selected','selected');
jQuery('#customfield_13273 option').first().next().attr('selected','selected');
到
jQuery('#customfield_13272 option:eq(1)').attr('selected','selected');
jQuery('#customfield_13273 option:eq(1)').attr('selected','selected');
我认为只设置option
的所选属性不会更改select元素以将其显示为所选项目。试试这个。
jQuery('#customfield_13272').val(jQuery('#customfield_13272 option:eq(1)').val());
jQuery('#customfield_13273').val(jQuery('#customfield_13273 option:eq(1)').val());
如果您想查看选择了哪个选项,请使用jQuery('#customfield_13272').val()