2017-01-18 4 views
0

Wie löst man das Ereignis OnChange eines InputBox aus, wenn der Wert dieser InputBox mit dem Wert geändert wird, der von einer SelectBox kommt ?? Derzeit funktioniert es nicht.Triggeränderungsereignis einer InputBox, wenn der Wert programmgesteuert gesetzt wird

$('select').on('change', function() { 
 
    $('#textbal').val(this.value); 
 
    var a = this.value; 
 
    $('#textball').attr('value', a); 
 

 
}); 
 
$('textball').trigger('change', function() { 
 
    alert('hi'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
</select> 
 
<input type="text" name="bal" id="textbal" />

Antwort

1

Sie müssen den Event-Handler mit .on() und .trigger() den Event-Handler auszuführen verwenden befestigen.

$('select').on('change', function() { 
 
    $('#textbal').val($(this).val()).trigger('change'); 
 
}); 
 
$('#textbal').on('change', function() { 
 
    console.log($(this).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select> 
 
    <option>select</option> 
 
    <option value="1">One</option> 
 
    <option value="2">Two</option> 
 
</select> 
 
<input type="text" name="bal" id="textbal" />

+0

Sie auch .change() anstelle von .on ('change') und Trigger ('Änderung') verwenden können, https://api.jquery.com/change/ – Zorken17

+0

@ Zorken17, '.change (Handler)' ist nur eine Kurzform für '.on (" ändern ", Handler)' – Satpal

+1

Ich weiß, es war nur ein Vorschlag auf eine "kürzere" Art zu schreiben. – Zorken17

-1

Do Something Like This

<html> 
    <head> 
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
    </head> 
    <select> 
     <option value="1">One</option> 
     <option value="2">Two</option> 
    </select> 
    <input type="text" name="bal" id="textbal" onchange="Change()"/> 
    <script type="text/javascript"> 
      $('select').on('change', function() { 
       $('#textbal').val(this.value); 
       debugger; 
       var a = this.value; 

       alert(a); 

       $('#textball').attr('value',a); 
       $('#textbal').trigger('change'); 
      }); 

      function Change() 
      { 
       alert('Hii'); 
      } 
    </script> 
    </html> 
+0

Sie können nicht die Funktion Ändern von .trigger ('ändern') – Zorken17

+0

Ja können wir :) Ich habe bereits versucht und seine Arbeit –

+0

Lol Dann versuchen Sie es zuerst dann antworten –

Verwandte Themen