valor otro obtener llenar inputs eventos evento escribir detectar dependiendo dato con cambio cambiar asignar jquery onchange textinput

otro - jQuery-en el texto de entrada de cambio



llenar inputs dependiendo del dato de otro input (10)

Estoy tratando de hacer una función que se ejecutará cuando se cambie el valor de un text input field . El valor del campo cambia cuando se hace clic en una celda de la tabla, no en keyup , ni se pega. Lo intenté así:

$("#kat").change(function(){ alert("Hello"); });

Y tengo el campo de texto:

<input type="text" id="kat" value="0"/>

pero no está funcionando ¿Alguna ayuda?


Eso está funcionando para mí. Podría ser un problema del navegador como se mencionó, o tal vez jQuery no se haya registrado correctamente, o quizás el problema real sea más complicado (que hizo una versión más simple para preguntar esto). PS - tuvo que hacer clic fuera del cuadro de texto para hacer que se dispare.

http://jsfiddle.net/toddhd/Qt7fH/


Esta técnica está funcionando para mí:

$(''#myInputFieldId'').bind(''input'',function(){ alert("Hello"); });

Tenga en cuenta que de acuerdo con este documento de JQuery , se recomienda "en" en lugar de enlazar en versiones más nuevas.


Esto es de un comentario en la página de documentación de jQuery:

En los navegadores pre-HTML5 más antiguos, "keyup" es definitivamente lo que estás buscando.

En HTML5 hay un nuevo evento, "entrada", que se comporta exactamente como parece pensar que "cambio" debería haberse comportado, en el sentido de que se activa tan pronto como se presiona una tecla para ingresar información en un formulario.

$ (''elemento''). bind (''entrada'', función);


Esto funciona para mí en todos los navegadores y Jquery <= v1.10

$(''#kat'').on(''keyup'', function () { alert("Hello"); });

o como parece que quieres

$(''#kat'').on(''click'', function () { alert("Hello"); });

El evento de cambio de campo de entrada del cuadro de texto se activa como lo esperaría, el evento jQuery .Change solo funciona correctamente en los navegadores compatibles con html5


Esto funciono para mi

var change_temp = ""; $(''#url_key'').bind(''keydown keyup'',function(e){ if(e.type == "keydown"){ change_temp = $(this).val(); return; } if($(this).val() != change_temp){ // add the code to on change here } });


La documentación de jQuery dice esto "También se muestra [el resultado de la ejecución del controlador] si cambia el texto en el campo y luego hace clic. Si el campo pierde el foco sin que el contenido haya cambiado, el evento no se activa".

Prueba los eventos keyup y keydown, como este:

$("#kat").keydown(function(){ alert("Hello"); });


Me parece que estás actualizando el valor del campo de texto en JavaScript. onchange evento onchange se activará solo cuando ingrese datos y salga del campo de texto.

Una solución alternativa es activar el evento de cambio de cuadro de texto al modificar el valor del cuadro de texto desde el script. Vea abajo,

$("#kat").change(function(){ alert("Hello"); }); $(''<tab_cell>'').click (function () { $(''#kat'') .val($(this).text()) //updating the value of the textbox .change(); //trigger change event. });


Prueba esto,

$(''#kat'').on(''input'',function(e){ alert(''Hello'') });


Recientemente me pregunté por qué mi código no funciona, luego me di cuenta de que tenía que configurar los controladores de eventos tan pronto como se cargaba el documento; de lo contrario, cuando el navegador carga el código línea por línea, carga el JavaScript, pero no lo hace. aún tiene el elemento para asignarle el controlador de eventos. Con tu ejemplo, debería ser así:

$(document).ready(function(){ $("#kat").change(function(){ alert("Hello"); }); });


function search() { var query_value = $(''input#search'').val(); $(''b#search-string'').html(query_value); if(query_value !== ''''){ $.ajax({ type: "POST", url: "search.php", data: { query: query_value }, cache: false, success: function(html){ //alert(html); $("ul#results").html(html); } }); }return false; } $("input#search").live("keyup", function(e) { clearTimeout($.data(this, ''timer'')); var search_string = $(this).val(); if (search_string == '''') { $("ul#results").fadeOut(); $(''h4#results-text'').fadeOut(); }else{ $("ul#results").fadeIn(); $(''h4#results-text'').fadeIn(); $(this).data(''timer'', setTimeout(search, 100)); }; }); and the html <input id="search" style="height:36px; font-size:13px;" type="text" class="form-control" placeholder="Enter Mobile Number or Email" value="<?php echo stripcslashes($_REQUEST["string"]); ?>" name="string" /> <h4 id="results-text">Showing results for: <b id="search-string">Array</b></h4> <ul id="results"></ul>