0

我想从代码中动态填充的HTML选择中以编程方式选择一个选项。通过代码选择选项,其中选择是动态填充的

的选择充满了对:

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); 

但是当我做了选择所处的价值= 0,任何想法?

+0

看到这个:https://stackoverflow.com/questions/5206070/programmatically-choose-item-in-select-drop-down – Francesco

+0

我的答案有帮助吗?! –

+0

谢谢Francesco。我在我的Javascript代码中使用它,我将选择标记放在代码中,因为我知道必须标记的值。 Mehdi Bouzidi也是一个很好的答案。 –

回答

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>

希望它能帮助!

+0

谢谢!我很感激。 –

+0

@HéctorCapulínPatiñowelcome :)请点击** Check Mark **点击批准答案 –