Estoy tratando de usar el complemento de JavaScript msDropdown ( https://github.com/marghoobsuleman/ms-Dropdown ) para crear etiquetas html que incluyen imágenes.
Parece funcionar bien excepto si trato de cambiar el valor seleccionado usando JavaScript. Como en este jsFiddle: https://jsfiddle.net/cmu845eh/7/ Estoy tratando de hacerlo de modo que si llama a la función setValue(), cambiará el valor seleccionado a un índice determinado.
He probado varias soluciones diferentes en línea pero ninguna funciona, soluciones como esta:
var oHandler = $("#main").msDropDown().data("dd"); oHandler.set("length", 0);siempre da como resultado un error, y los enfoques más básicos de jquery tampoco funcionan.
¿Alguien puede ayudarme a cambiar el valor de mi etiqueta de selección a un índice determinado usando javascript?
Usando msdropdown
Permítame darle un código completo sobre cómo completar el menú desplegable de selección desde el lado del servidor usando otro menú desplegable de selección.
1er menú desplegable de selección
<select name="" id="from" class="selectFlags" style="width:100%;"> <option value="2" title="https://fxtop.com/ico/aon.gif">GBP</option> <option value="3" title="https://fxtop.com/ico/aon.gif">GBP</option> </select>Segundo menú desplegable de selección
<select name="" id="selectFlagTo" class="selectFlagTo form-control" style="width:100%;height:52px;"> </select>JScript
<script language="javascript"> $(document).ready(function(e) { try { $(".selectFlags").msDropDown({mainCSS:'dd'}); } catch(e) { alert(e.message); } $(".dd").css({ 'width' : '100%' }); }); $(document).on("click",".dd .ddChild",function(e){ let $from=$("#from option:selected").val(); let $to=$("#selectFlagTo"); $to=$to.empty(); $(".dd").css({ 'width' : '100%' }); $(".dd2").css({ 'width' : '100%' }); $.ajax({ url: "http://odin.test/load_countries", type: "POST", data: {from:$from}, success: function(response) { $.each(response, function(key, entry) { $to.append("<option title='https://fxtop.com/ico/aon.gif' value='"+entry.id+"'>"+entry.name+"</option>" ); }); var oDropdown = $(".selectFlagTo").msDropDown({mainCSS:'dd2'}); $(".dd3").css({ 'width' : '100%' }); } }); }); </script>¡¡¡Disfruta codificando!!!
Lo resolví aquí arreglando cómo estaba inicializando el elemento msdropdown después de que se creó el html. https://jsfiddle.net/uvbjhy31/