我希望某些表单字段互斥。这是具有许多不同类别的付款表单。 研究中我得到了下面的代码
$('document').ready( function() {
$("#zero-out :input").each( function() {
$(this).keydown( function() {
$("#zero-out :input").not(this).val("");
});
});
});
此代码假定我只可以将ID为零的div包装在我要排他的字段上-也就是说,对于那些分组的字段,只能有一个值。但是我有大约4个不同的领域组。例如,一组具有textfield和textfield3。另一个组具有textfield2,textfield4和textfield7。另一个组具有textfield5,textfield6和textfield8。这些字段不是按顺序排列的(它们按两列排列,并按某种方便顺序排列),因此仅将div包裹在一组周围并不容易。
每个文本字段都已经具有一个onkeyup="javascript:PaySum()
函数来添加输入值。
我需要帮助,以一种优雅的方式实现这一目标。
答案 0 :(得分:0)
我将为互斥输入的每个分组赋予一些属性(例如data-grouping = 1,data-grouping = 2等),然后将上面的代码更新为类似的内容:
$('document').ready( function() {
$("input").each( function() {
$(this).keydown( function() {
$("input").not("[data-grouping='" + this.data("grouping") + "']").val("");
});
});
});
根据页面的大小和使用情况,blur
可能比按下key键更好,并且您可以进一步将输入限制为仅特定父级中的输入。