我试图填充字段值(值),与其他领域的值(值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);
}
});
如何在字段值更改时执行此操作?
我试图填充字段值(值),与其他领域的值(值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);
}
});
如何在字段值更改时执行此操作?
试试这个:你在value1
和value2
阅读价值和再次调用.val()
,而不是商店jQuery对象为value1
和value2
,然后调用.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);
}
});
,更改为:
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);
}
});
您想使用的函数重载val
var value2 = jQuery('#input_41_77');
$('#input_41_49').val(function(_,prevVal){
return prevVal == "0" ? value2 : prevVal;
});
试试这个代码
jQuery(function() {
var value1 = $('#input_41_49');
var value2 = $('#input_41_77');
if ($.trim(value1.val()) == 0){
value2.val(value1);
}
});
您能否请[编辑]解释为什么此代码回答问题? – Scimonster 2015-02-06 10:42:08
获取和当值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
下面的代码确实,如果输入1为空
如果手动编辑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();
});
你能否请[编辑]解释为什么这段代码回答这个问题?不接受代码的答案是不鼓励的,因为他们没有教导解决方案。 – Scimonster 2015-02-06 10:43:06
好了,我使用: 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
绑定到更改事件 - 请参阅上面的我的答案。 – sideroxylon 2015-02-06 10:11:08
@sideroxylon你可以使用('输入'...)事件来检查更改事件,就像我添加的答案 – 2015-02-06 10:56:55