Select 代码选项,其中 select 是动态填充的

Select option by code, which select is filled dynamically

我正在尝试以编程方式 select 来自 HTML Select 的选项,该选项由代码动态填充。

selected 填充了一个 for:

for(var i =0; i< valores.length ; i++)
{
    var opcion= "<option value="+valores[i]['id_estado']+">"+valores[i]['nombre_estado']+"</option>";
    selectEstado.append(opcion);    
}

然后 select 一个选项:

$("#select_estado option[value='"+valores[0]['estado']+"']").attr('selected', true);

但是当我执行 select 定位到值=0 时,有什么想法吗?

I don't know how you did declare your valores array, so I felt free to declare a new array that takes the keys you used in your question.

所以如果你像我一样声明你的 array 那么你不应该使用这种语法 valores[i]['id_estado'] 但你应该使用这种 valores[i].id_estado

否则,为了 select 一个 option value 你应该使用简单的函数 val().

终于支持我对这个问题的回答了:Set select option 'selected', by value

$(function(){

var valores={ 
0:{'id_estado':1,'nombre_estado':3},
1:{'id_estado':5,'nombre_estado':2},
2:{'id_estado':20,'nombre_estado':1}
        };
        
 var count=Object.keys(valores).length;
for(var i =count-1; i>= 0 ; i--)
{
    var opcion= "<option value="+valores[i].id_estado+">"+valores[i].nombre_estado+"</option>";
    $("#select_estado").append(opcion);      
}

$("button").on("click",function(){
$("select").val(valores[1].id_estado);
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <select id="select_estado"></select>
 <button type="button" >Select</button>

希望对您有所帮助!