按代码选择选项,动态填充选择

时间:2017-09-25 17:40:37

标签: javascript jquery html dynamically-generated programmatically-created

我正在尝试以编程方式从HTML Select中选择一个由代码动态填充的选项。

所选内容填充了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_estado option[value='"+valores[0]['estado']+"']").attr('selected', true);

但当我在select = 0中选择select时,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

我不知道你是怎么宣布你的valores数组,所以我觉得自由   声明一个新数组,它接受你在你的keys   问题

因此,如果您按照我的方式声明array,则不应使用此语法valores[i]['id_estado'],但应使用此valores[i].id_estado

否则,要选择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>

希望它有所帮助!

相关问题