自动选择html选择标记的前一个和下一个选项

时间:2014-10-24 14:53:51

标签: javascript jquery html select

我有这个选择标签:

<select name="test">
    <option value="stack">Stack</option>
    <option value="overflow" selected>Overflow</option>
    <option value="my">My</option>
    <option value="question">Question</option>
</select>

例如,我选择了溢出选项。如何使用jquery自动选择我选择的选项的prev选项和下一个选项?我不必使用namo或值,只需选择previos或next选项,无论它是什么。

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:1)

如果您向select

添加多个属性,则可以执行此操作
$('select').change(function () {
    var i = $(this).find(":selected");
    var arr = $(this).children();
    i.next().prop('selected', true);
    i.prev().prop('selected', true);
});

DEMO

答案 1 :(得分:0)

我不确定我是否了解用例,但这里有两个功能可以满足您的需求:

function selectPrev() {
    // get the selected option
    var $selected = $("select[name=test]").find('option:selected');
    // remove the selected property
    $selected.prop("selected", false);
    // get previous option and add selected property
    var $prev_option = $selected.prev().prop("selected", true);
}

function selectNext() {
    // get the selected option
    var $selected = $("select[name=test]").find('option:selected');
    // remove the selected property
    $selected.prop("selected", false);
    // get next option and add selected property
    var $next_option = $selected.next().prop("selected", true);
}