在Javascript中设置Select选项的值

时间:2014-07-20 09:22:33

标签: javascript ajax

是否有任何设置<select>标签选项值的功能?我有一个ajax响应数组,我想把这个数组放在<select>标签中。

这是我的代码:

$.ajax({
    type: "GET",
    url: "http://.......api/1/AbsenceType",
    dataType: "json", 
    success: function (data) {
        // It doesn't work
        var ind = document.getElementById('mySelect').selectedIndex;
        document.getElementById('mySelect').options.value="2";//
    }
})

我的选择标签是:

<select id=mySelect name="mySelect" required="required" data-mini ="true" onchange="myFunction3();"/>
    <option id ="type" value=""></option>
</select>

3 个答案:

答案 0 :(得分:7)

  

我有一个ajax响应数组,我想把这个数组放在一个标记中。

为什么不将数组中的选项添加到选择中,然后设置所选的值,如下所示:

以空选择开始:

<select id="mySelect" name="mySelect">

</select>

然后使用此函数作为回调:

var callback = function (data) {

    // Get select
    var select = document.getElementById('mySelect');

    // Add options
    for (var i in data) {
        $(select).append('<option value=' + data[i] + '>' + data[i] + '</option>');
    }

    // Set selected value
    $(select).val(data[1]);
}

演示:

http://jsfiddle.net/M52R9/

见:

答案 1 :(得分:1)

试试这个......

<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>`
</select>

$("select").val("3");

在此处访问实时演示:http://jsfiddle.net/y4B68/

谢谢

答案 2 :(得分:0)

你在寻找类似的东西 -

DEMO

你可以添加这样的选项 -

$(function(){
$("#mySelect").html('<option value="2">2</option>');
});

对不起,我错过了你在ajax callback做的事。我也在我的演示中更新了。

你也可以这样 -

document.getElementById("mySelect").innerHTML = '<option value="2">2</option>';

为什么不添加新选项而不是在选项中添加值。