如果为0,则使用其他字段值填充字段值

时间:2015-02-06 09:46:59

标签: jquery

如果字段值1为0,我试图用另一个字段值(value2)填充字段值(value1)。这是我到目前为止所做的:

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

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

如果字段值发生变化,我该怎么做?

6 个答案:

答案 0 :(得分:0)

试试这个:您正在value1value2中阅读价值并再次调用.val(),而是存储value1value2的jquery对象,然后调用.val()。还可以使用parseInt()(或parseFloat()浮点数值)将其与0进行比较。

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

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

答案 1 :(得分:0)

使用过多的jQuery,改为:

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);
    }
});

答案 2 :(得分:0)

您想使用val

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

答案 3 :(得分:0)

试试这段代码

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

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

答案 4 :(得分:0)

在Value1更改时获取并比较值:

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

答案 5 :(得分:0)

以下代码

    如果input1为空,则
  • 使用input2更改input1的值。
  • 如果手动编辑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