Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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
jQuery在忽略optgroups时操作选择框_Jquery_Optgroup - Fatal编程技术网

jQuery在忽略optgroups时操作选择框

jQuery在忽略optgroups时操作选择框,jquery,optgroup,Jquery,Optgroup,我已经在这个问题上纠缠了很长一段时间了,自己也解决不了。假设我有这个选择: <select> <optgroup label="NFC EAST"> <option>Dallas Cowboys</option> <option>New York Giants</option> <option>Philadelphia Eagles</option>

我已经在这个问题上纠缠了很长一段时间了,自己也解决不了。假设我有这个选择:

<select>
    <optgroup label="NFC EAST">
      <option>Dallas Cowboys</option>
      <option>New York Giants</option>
      <option>Philadelphia Eagles</option>
      <option>Washington Redskins</option>
    </optgroup>
    <optgroup label="NFC NORTH">
      <option>Chicago Bears</option>
      <option>Detroit Lions</option>
      <option>Green Bay Packers</option>
      <option>Minnesota Vikings</option>
    </optgroup>
</select>

达拉斯牛仔队
纽约巨人队
费城鹰
华盛顿红皮队
芝加哥熊
底特律狮子会
绿湾包装机
明尼苏达维京人
我有两个按钮-下一个和上一个。如果有人单击“下一步”,则选择“下一步”选项,反之亦然。我遇到的问题是-在这个场景中,我如何完全忽略optgroup?(即,如果选择了
芝加哥熊市
,则按“上一步”应选择
华盛顿红人队

这说明了这个问题。我尝试过很多解决方案,但都很快就变得一团糟。有什么想法吗

提前谢谢

您可以使用,它从匹配的元素中搜索给定的元素

$('#next').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index + 1).val();
    $('select').val(value);
});

$('#prev').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index - 1).val();
    $('select').val(value);
});

您可以使用,它从匹配的元素中搜索给定的元素

$('#next').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index + 1).val();
    $('select').val(value);
});

$('#prev').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index - 1).val();
    $('select').val(value);
});

您可以使用,它从匹配的元素中搜索给定的元素

$('#next').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index + 1).val();
    $('select').val(value);
});

$('#prev').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index - 1).val();
    $('select').val(value);
});

您可以使用,它从匹配的元素中搜索给定的元素

$('#next').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index + 1).val();
    $('select').val(value);
});

$('#prev').on('click', function () {
    var selected = $('select option:selected');
    var index = $('select option').index(selected);
    var value = $('select option').eq(index - 1).val();
    $('select').val(value);
});

您只需检查上一个或下一个
选项是否存在,如果不存在,请执行一些逻辑,如果存在,请使用它(这是上一个示例)


您只需检查上一个或下一个
选项是否存在,如果不存在,请执行一些逻辑,如果存在,请使用它(这是上一个示例)


您只需检查上一个或下一个
选项是否存在,如果不存在,请执行一些逻辑,如果存在,请使用它(这是上一个示例)


您只需检查上一个或下一个
选项是否存在,如果不存在,请执行一些逻辑,如果存在,请使用它(这是上一个示例)


这是我最喜欢的答案。它干净且符合逻辑,而且我没有使用任何
if
条件或逻辑(它也在一个循环中运行,这是一个整洁的奖励),这是我最喜欢的答案。它干净且符合逻辑,而且我没有使用任何
if
条件或逻辑(它也在一个循环中运行,这是一个整洁的奖励),这是我最喜欢的答案。它干净且符合逻辑,而且我没有使用任何
if
条件或逻辑(它也在一个循环中运行,这是一个整洁的奖励),这是我最喜欢的答案。它干净且符合逻辑,而且我没有使用任何
if
条件或逻辑(它还进入一个循环,这是一个很好的奖励)