2017-01-18 2 views
0

Как вызвать событие OnChange события InputBox, когда значение этого InputBox изменяется со значением, исходящим из SelectBox ?? В настоящее время он не работает.Событие смены триггера InputBox, когда значение задано программно

$('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" />

ответ

1

Вам нужно прикрепить обработчик событий с помощью .on() и использовать .trigger() для выполнения обработчика событий.

$('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

Вы также можете использовать .Кнопкой() вместо .on ('изменение') и триггер ('изменить') по протоколу HTTPS://api.jquery.com/change/ – Zorken17

+0

@ Zorken17, '.change (handler)' является просто сокращением для '.on (« change », handler)' – Satpal

+1

Я знаю, это было всего лишь предложение о «короче», способ письма. – Zorken17

-1

сделать нечто подобное

<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

Вы не можете вызвать функцию Изменить на .trigger ('change') – Zorken17

+0

Да, мы можем :) Я уже пробовал и его работу –

+0

Lol Тогда попробуйте сначала, затем ответьте –

Смежные вопросы