jQuery - 在基于属性的选定内容之后的下拉列表中获取下一个选项的值

时间:2015-03-04 05:12:09

标签: javascript jquery select option

HTML输出

<option task_estimated_hours="100" value="1"> - Parent Task</option>
<option task_estimated_hours="50" value="2"> -  - Child task</option>
<option task_estimated_hours="50" value="3"> -  - Child task</option>

jQuery代码:

$('#dropDownId option:selected').next().val()

上面显然会在选择一个之后给我value下一个选项,但不会基于task_estimated_hours的attrbitue。以下似乎不起作用。它说TypeError: $(...).attr(...).next is not a function

$('#dropDownId option:selected').attr('task_estimated_hours').next().val();

如何根据传递的attrbitue获取下一个选项的值?

3 个答案:

答案 0 :(得分:0)

试试这个: -

$('#dropDownId option:selected').next().attr('task_estimated_hours');

旁注: - 使用HTML5自定义data-*属性,而不是task_estimated_hours使用data-task_estimated_hours

Fiddle

答案 1 :(得分:0)

可能这可能对你有帮助

<强> HTML:

<select id="dropDownId">
<option task_estimated_hours="10" value="1">1 option</option>
<option task_estimated_hours="20" value="2" selected="selected">2 option</option> 
<option value="3" >3 option</option>
<option task_estimated_hours="40" value="4">4 option</option>
</select>

<强> jQuery的:

alert($('#dropDownId option:selected').nextAll("option[task_estimated_hours]:first").attr("task_estimated_hours"));

答案 2 :(得分:0)

Fiddle

$('select option:selected').next('option[task_estimated_hours]').val();