Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-根据属性获取所选选项后下拉列表中下一个选项的值_Javascript_Jquery_Select_Option - Fatal编程技术网

Javascript jQuery-根据属性获取所选选项后下拉列表中下一个选项的值

Javascript jQuery-根据属性获取所选选项后下拉列表中下一个选项的值,javascript,jquery,select,option,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>

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>
上述内容显然会给我在选择一个选项后下一个选项的值,但不会基于属性,即任务\估计\小时。下面的代码似乎不起作用。它说TypeError:$..attr…next不是一个函数

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

尝试以下操作:-

$('#dropDownId option:selected').next().attr('task_estimated_hours');
旁注:-使用HTML5自定义数据-*属性,即使用data-task\u estimated\u hours代替task\u estimated\u hours


也许这对你有帮助

HTML:

:


然后该选项将是-Parent Task,要获取它,我们可以使用$'dropDownId option:selected'。next.attr'data-Task-hours'@Slimshaddyyy..没有更好的方法是使用.data引用。即使我们不使用.val,它也会给出值。为什么.next.data'task-hours'获取值?@slimshaddyyy..你错了。。它不是给定值,而是给定属性task hours值,如上图所示。
$('#dropDownId option:selected').attr('task_estimated_hours').next().val();
$('#dropDownId option:selected').next().attr('task_estimated_hours');
<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>
alert($('#dropDownId option:selected').nextAll("option[task_estimated_hours]:first").attr("task_estimated_hours"));
$('select option:selected').next('option[task_estimated_hours]').val();