2011-08-07 123 views
0

我正在使用表单字段来捕获特定情况的统计信息。我需要根据两个文本字段的输入来更改隐藏字段的值。我会用简单的英文来描述这个功能。帮助翻译这是一个有效的jQuery脚本将不胜感激。jQuery - 基于输入字段更改隐藏值

隐藏字段等于“是”,其中field_1的值等于4 & & field_2等于2 或 隐藏字段等于“是”,其中field_1的值等于3 & & field_2等于1个 或 隐藏字段等于'是'其中field_1的值等于2 其他 隐藏字段等于'否'

正如该声明的结构所示​​,我是一名php开发人员。这是我的假设,这可以通过jQuery完成。如果没有,请给我一个替代方案。谢谢!

+0

我怀疑了,你可能不会使用parseInt函数的输入在JavaScript廉政局在javascript即使这样字符串比较应该工作,无论哪种方式,我的解决方案下面,我赶紧打完了,可能是不准确的转换某种原因。 – Ali

+0

Ali发布的方法识别初始值(返回no,因为两者均为空),但在field1和field2的值发生更改时不会更新。 –

回答

1

希望这会有所帮助。退房jQuery api柜面你的领域是不同的一些如何(比如,如果他们是复选框)

var field1 = parseInt($('#field_1').val()); 
var field2 = parseInt($('#field_2').val()); 

if((field1 == 4 && field2 == 2) || (field1 == 3 && field2 == 1) || field1 == 2){ 
    $('#hidden').val('yes') 
} else { 
    $('#hidden').val('no') 
} 
+0

脚本将识别field1和field2(null)的初始值,并将隐藏的值设置为no。但是,当field1和field2的值发生变化时,不会重新计算隐藏值。 –

+0

如果初始值为null,那么在parseInt之前检查值是否为空并将其设置为默认值。是的,这段代码并没有考虑到数值的变化,你必须绑定field_1和field_2的onBlur onKeyUp。为此,你必须$('#fieldId')。bind('blur',function(){/ *上面的代码* /});您必须为这两个字段执行此操作。 – Ali

+0

完美的作品!谢谢阿里! –

0

下使用keyup事件处理程序修改基于field_1和field_2的输入值的隐藏输入值(假设他们是文字输入)。

$('#field1 #field2').keyup(function() { 
    var field_1 = parseInt($('#field_1').val()); 
    var field_2 = parseInt($('#field_2').val()); 

    if (field_1 == 4 && field_2 == 2) { 
     $('#hidden').val('yes'); 
    } 
    else if (field_1 == 3 && field_2 == 1) { 
     $('#hidden').val('yes'); 
    } 
    else if (field_1 == 2) { 
     $('#hidden').val('yes'); 
    } 
    else { 
     $('#hidden').val('no'); 
    } 
});