2015-02-06 64 views
0

我试图填充字段值(值),与其他领域的值(值2)如果字段值1 0。这是我到目前为止有:填充字段值,如果0

jQuery(function() { 
var value1 = $('#input_41_49').val(); 
var value2 = $('#input_41_77').val(); 

if (jQuery(value1).val() == 0){ 
jQuery(value2).val(value1); 
} 
}); 

如何在字段值更改时执行此操作?

回答

0

试试这个:你在value1value2阅读价值和再次调用.val(),而不是商店jQuery对象为value1value2,然后调用.val()。还使用parseInt()(或parseFloat()如果为浮点值)将其与0进行比较。使用太多的jQuery

jQuery(function() { 
    var value1 = $('#input_41_49'); 
    var value2 = $('#input_41_77'); 

    if (parseInt(jQuery(value1).val()) == 0){ 
    jQuery(value2).val(value1); 
    } 
}); 
0

,更改为:

jQuery(function() { 
    var value1 = jQuery('#input_41_49'); 
    var value2 = jQuery('#input_41_77'); 

    if (parseInt(value1.val(), 10) == 0){ 
     value1.val(value2.val()); 
    } 
}); 

对于变化事件,你可以使用:

$("#value2").on("input",function(e){ 
    var $thisVal = $(this).val(), 
     $value1 = $("#value1"); 
    if(parseInt(value1.val(), 10) == 10) { 
     value1.val($thisVal); 
    } 
}); 
+0

好了,我使用: jQuery的(函数(){ VAR值1 = jQuery的( '#input_41_49'); VAR值2 = jQuery的('# (parseInt(value1.val(),10)== 0){ value1.val(value2.val()); } }); 但是不工作,我怎么做使用更改事件,所以如果值1 = 0,更改为值2? – user2753924 2015-02-06 10:04:03

+0

绑定到更改事件 - 请参阅上面的我的答案。 – sideroxylon 2015-02-06 10:11:08

+0

@sideroxylon你可以使用('输入'...)事件来检查更改事件,就像我添加的答案 – 2015-02-06 10:56:55

0

您想使用的函数重载val

var value2 = jQuery('#input_41_77'); 
$('#input_41_49').val(function(_,prevVal){ 
    return prevVal == "0" ? value2 : prevVal; 
}); 
0

试试这个代码

jQuery(function() { 
    var value1 = $('#input_41_49'); 
    var value2 = $('#input_41_77'); 

    if ($.trim(value1.val()) == 0){ 
     value2.val(value1); 
    } 
}); 
+0

您能否请[编辑]解释为什么此代码回答问题? – Scimonster 2015-02-06 10:42:08

0

获取和当值1的变化进行比较值:

$('#input_41_49').change(function() { 
     var value1 = $('#input_41_49').val(); 
     var value2 = $('#input_41_77').val(); 

     if (value1 == 0){ 
     $('#input_41_47').val(value2); 
     } 
    }); 

小提琴HERE

0

下面的代码确实,如果输入1为空

  • 改变输入1与输入2的值。
  • 如果手动编辑input1,并且input1包含某个值,则input2的更改不会反映在input1中。

    // assign the initial value1 var to value of input1 
    var init_value1 = $('#value1').val(); 
    
    // if input 2 value changes: listen to input2 for cut, paste, keyup and change event 
    $('#value2').on('cut paste keyup change', function(){ 
        // if input1 initial value is empty assign input1 value to input2 value 
        if(init_value1=== ''){ 
         $('#value1').val($('#value2').val()); 
        } 
    }); 
    
    // if input1 value changes: in case input1 is edited, listen to cut, paste, keyup, change 
    $('#value1').on('cut paste keyup change', function(){ 
        // assign input1 value to initial value1 variable 
        init_value1 = $('#value1').val(); 
    }); 
    

DEMO

+0

你能否请[编辑]解释为什么这段代码回答这个问题?不接受代码的答案是不鼓励的,因为他们没有教导解决方案。 – Scimonster 2015-02-06 10:43:06