根据通过另一个输入字段更新更新的输入触发更改

时间:2012-12-10 17:00:44

标签: jquery

我有一个输入字段,可以由另一个输入字段更新,我试图在发生这种情况时发生一些事情,css更改等等。我找不到触发这个的好方法。

我已经设置了一个带有简化示例的jsfiddle。

这个想法是,当表单1中的字段被更改时,警报将在表单2上触发。

http://jsfiddle.net/8KKHK/

HTML code:

<h3>form 1</h3>
<div id="form1">
  <input type="text" data-pair="1">
  <input type="text" data-pair="2">
  <input type="text" data-pair="3">    
</div><!--#form1-->

<h3>form 2</h3>
<div id="form2">
  <input type="text" data-pair="1">
  <input type="text" data-pair="2">
  <input type="text" data-pair="3">    
</div><!--#form1-->

Javascript代码:

jQuery('input').bind("change keyup input",function(){
    var d = jQuery(this).attr("data-pair");
    var value = jQuery(this).val();
    jQuery('input[data-pair="'+d+'"]').val(value);
});

jQuery('#form2 input').change("change keyup input",function(){
    var d = jQuery(this).attr("data-pair");
    alert(d);           
});

1 个答案:

答案 0 :(得分:0)

在我的示例中使用自定义事件(change.myown):

jQuery('input').bind("change keyup input",function(e){
                var d = jQuery(this).attr("data-pair");
                
                var value = jQuery(this).val();
                var pair=jQuery('input[data-pair="'+d+'"]');
                pair.val(value);
                pair.trigger('changed.myown',e);
                }); 



jQuery('#form2 input').bind("changed.myown",function(e,orig_event){
console.log(orig_event);
var d = jQuery(this).attr("data-pair");
alert(d);
                
});​