Quiero elegir (también conocido como preselección de jQuery) y establecer el valor en función de la variable de datos. La lista tiene 3 elementos que tienen los mismos valores pero diferentes datos-d.
Supongamos que tengo la variable selectvar="d" , entonces debería cambiar a 2 elementos en la lista.
<select id="select2"> <option data-id="mo" value="1" style="display: none;">1</option> <option data-id="d" value="1" style="">one</option> <option data-id="h" value="1" style="display: none;">o-ne</option> <option data-id="mo" value="2" style="display: none;">2</option> <option data-id="d" value="2" style="">two</option> <option data-id="h" value="2" style="display: none;">t-wo</option> <option data-id="mo" value="3" style="display: none;">3</option> <option data-id="d" value="3" style="">three</option> <option data-id="h" value="3" style="display: none;">t-hree</option> </select> val = 2 selectvar="d" $("#select2 option[data-id='d'][value='2']").prop("selected", true);Use el código a continuación y proporcione una identificación a su selección.
$("#select2 option[data-id='" + selectvar + "']").prop("selected", true);Establezca la variable seleccionada, luego itere sobre las opciones de la lista de selección y compare el atributo de datos, es lo mismo, establezca la propiedad seleccionada.
var selectvar = "d"; $("#select2 option").each(function(){ var id= $(this).attr('data-id'); if(id === selectvar){ $(this).prop('selected',true); } }) <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="select2"> <option data-id="mo" value="1">1</option> <option data-id="d" value="2" >one</option> <option data-id="h" value="3">o-ne</option> </select> $("button").click(function() { var selectVal = $("input").val(); $('[data-id="' + selectVal + '"]').prop("selected", true); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select> <option data-id="mo" value="1" style="display: none;">1</option> <option data-id="d" value="1" style="">one</option> <option data-id="h" value="1">o-ne</option> </select> Data-id:<input/> <button>Change</button>