Javascript 如何使用jquery从select标记中选择选项值

Javascript 如何使用jquery从select标记中选择选项值,javascript,jquery,html,Javascript,Jquery,Html,对不起,伙计们,之前我没有提到我的下拉列表是用bootstrap制作的。根据@rps的建议,我问我的同事(他是制作模板的),他说这是用bootstrap制作的 我把基本的html下拉代码,所以我想你们可以理解如何引导代码将 html代码: <select name="primary" class="select-block" id="select_alert"> <option "selected">Choose Alert T</option>

对不起,伙计们,之前我没有提到我的下拉列表是用bootstrap制作的。根据@rps的建议,我问我的同事(他是制作模板的),他说这是用bootstrap制作的

我把基本的html下拉代码,所以我想你们可以理解如何引导代码将

html代码:

<select name="primary" class="select-block" id="select_alert">
   <option "selected">Choose Alert T</option>                         
   <option value="T1">T1</option>
   <option value="T2">T2</option>
   <option value="T3">T3</option>
   <option value="T4">T4</option>
</select>
现在使用javascript或jquery,我想以如下方式更改select选项

       document.getElementById('select_alert').value="T1";

如果我再次检查选择菜单的值,它应该是“T1”


谢谢你使用jQuery,你可以这样做:

$('#select_alert').val('T1');
演示:

使用方法如下:

$('#select_alert').val('T1'); // in jquery
另外,您的javascript代码是正确的,页面上一定有其他错误。

您可以尝试此操作

//从下拉选择中获取值

$( "#select_alert option:selected").val();

$( "#select_alert option:selected" ).text();

我对这个问题的理解不明确,但如果您试图将值或所选选项设置为
T1

$('#select_alert option[value="T1"]').prop('selected',true);

如果您试图检索所选选项的值:

$('#select_alert option:selected').val();

没有jquery,您可以使用

document.getElementById('select_alert').selectedIndex = 1

如果您想通过给定的值找到选项索引,请尝试以下操作

var sel = document.getElementById('select_alert'),
    selopt = sel.options,
    searchidx;

//alert(selopt[sel.selectedIndex].value);
//sel.selectedIndex = 1;
//alert(selopt[sel.selectedIndex].value);
//alert(sel.value)


// search for the index
searchidx = getoptidx(selopt, "T3");

if (searchidx !== false) {
    sel.selectedIndex = searchidx;
    alert(selopt[sel.selectedIndex].value);
} else {
    alert("index not found")
}

/**
 * returns the index of a value
 * @todo optimize search?
 */
function getoptidx(opts, searchterm) {
    for (var i in opts) {
        if (opts[i].text === searchterm) return i;
    }
    return false;
}

小提琴:

试着这样做:

$('#select_alert').val("T3");
$("#select_alert").selectmenu();
$("#select_alert").selectmenu("refresh");

你的代码应该正常工作,肯定还有其他问题!您在哪里编写了
document.getElementById('select_alert')。value=“T1”
?如果您将整个代码粘贴到问题中,可能会有所帮助您是否正在尝试获取当前所选选项的值?或者将“选择菜单”更改为特定选项?@CoreyRothwell我正在尝试将“选择菜单”更改为特定选项。@我更新了所有问题,希望您现在能够理解我的尝试。@user2873816请看一看,您的JavaScript代码是正确的,只需确保脚本代码放在文档中执行它的某个位置,而不是被覆盖。运行第一个语句代码后,我希望在菜单顶部看到“T1”。我不知道索引,我将从某个位置获取选项值,我只想在菜单顶部显示该值,就像我在问题中显示的那样。现在fiddle有点挣扎了,我将代码粘贴到了答案中,也许这个会有帮助
$('#select_alert').val("T3");
$("#select_alert").selectmenu();
$("#select_alert").selectmenu("refresh");