Tengo un problema para llamar a onchanges knock js a mi opción de selección, ya tengo una función y html, pero cuando elijo la opción de selección, nada cambia
<select data-bind="event:{change:setSelectedStation() }, options: seedData, optionsText: 'text', optionsValue: 'value'"> </select>aquí está mi función
setSelectedStation: function(element, KioskId){ this.getPopUp().closeModal(); $('.selected-station').html(element); $('[name="popstation_detail"]').val(element); $('[name="popstation_address"]').val(KioskId); $('[name="popstation_text"]').val(element); // console.log($('[name="popstation_text"]').val()); this.isSelectedStationVisible(true); },Utilice los enlaces de datos bidireccionales de knockout en lugar de suscribirse manualmente a los eventos de la interfaz de usuario.
El enlace de datos de value de Knockout escucha los cambios en la interfaz de usuario y realiza un seguimiento automático del valor más reciente para usted.
En lugar de reemplazar HTML a través de métodos jQuery, usa text , attr y otros enlaces de value para actualizar la interfaz de usuario cada vez que cambia su selección.
Si desea realizar un trabajo adicional cuando cambia una selección (por ejemplo, cerrar una ventana emergente), se subscribe al valor seleccionado.
var VM = function() { this.seedData = [ { text: "Item 1", data: "Some other stuff" }, { text: "Item 2", data: "Something else" }, { text: "Item 3", data: "Another thing" } ]; this.selectedItem = ko.observable(); this.selectedItem.subscribe(function(latest) { console.log("Input changed"); }, this); }; ko.applyBindings(new VM()); <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> <select data-bind=" value: selectedItem, options: seedData, optionsText: 'text'"> </select> <!-- ko with: selectedItem --> <p> Your selection: <span data-bind="text: data"></span> </p> <!-- /ko -->