如果使用jquery输入一个字段,则自动填充其他字段
Autofill other fields automatically if one field is entered with jquery
请检查我的小提琴。
Fiddle
当我在slab_range的任何行中输入任何数据时,我需要用值"No Bid"自动填充"slab range"的所有其他行。如果我留下空白,什么都不用填。同样,如果我在"零件号"中输入任何数据,则"零件编号"的所有其他行都必须填充值"2"。这些行来自数据库,所以我不知道它会有多少行,它应该迭代所有的行。
<tr>
<td>
<input size="1" id="sl[0]" name="sl[0]" value="1" type="text">
</td>
<td>
<input size="9" data-validation="required" name="slab_range[]" id="slab_range[]" type="text">
</td>
<td>
<input size="9" name="item_partno[]" id="item_partno[]" type="text">
</td>
</tr>
好了,现在您的任务是重构代码,因为这两个方法是相等的。
var ProcessTable = (function () {
var _slabs, _partsNumber;
var _init = function () {
_slabs = $('input[name^="slab_range"]');
_partsNumber = $('input[name^="item_partno"]');
_slabs.on('blur', _slabBlurHandler);
_partsNumber.on('blur', _partNumberBlurHandler);
};
var _slabBlurHandler = function (e) {
var value = $.trim($(this).val());
if (value !== '') {
_slabs.val('No bid');
} else {
_slabs.val('');
}
$(this).val(value); // Because the previous line override the original value
};
var _partNumberBlurHandler = function (e) {
var value = $.trim($(this).val());
if (value !== '') {
_partsNumber.val('2');
} else {
_partsNumber.val('');
}
$(this).val(value); // Because the previous line override the original value
};
return {
init: _init
}
})();
ProcessTable.init();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="cart1" name="cart" method="post" class="single" action="price_edit_save.php?supplier_name=Jupiter+Microwave+Components+Inc&tender_id=151501">
<div class="clone_row">
<table style="border-collapse: collapse;" id="table" border="1" cellpadding="2" cellspacing="2" width="100%">
<thead>
<tr bgcolor="#E6E6FA">
<th width="4%">SlNo</th>
<th width="4%">Slab Range</th>
<th width="6%">Part Number</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input size="1" name="id[0]" value="9978" readonly="readonly" type="hidden">
<input size="1" id="sl[0]" name="sl[0]" value="1" type="text">
<input size="1" id="item_id[0]" name="item_id[0]" readonly="readonly" type="hidden">
</td>
<td>
<input size="9" data-validation="required" name="slab_range[]" id="slab_range[]" type="text">
</td>
<td>
<input size="9" name="item_partno[]" id="item_partno[]" type="text">
</td>
</tr>
<tr>
<td>
<input size="1" name="id[1]" value="9979" readonly="readonly" type="hidden">
<input size="1" id="sl[1]" name="sl[1]" value="2" type="text">
<input size="1" id="item_id[1]" name="item_id[1]" readonly="readonly" type="hidden">
</td>
<td>
<input size="9" data-validation="required" name="slab_range[]" id="slab_range[]" type="text">
</td>
<td>
<input size="9" name="item_partno[]" id="item_partno[]" type="text">
</td>
</tr>
<tr>
<td>
<input size="1" name="id[1]" value="9979" readonly="readonly" type="hidden">
<input size="1" id="sl[1]" name="sl[1]" value="2" type="text">
<input size="1" id="item_id[1]" name="item_id[1]" readonly="readonly" type="hidden">
</td>
<td>
<input size="9" data-validation="required" name="slab_range[]" id="slab_range[]" type="text">
</td>
<td>
<input size="9" name="item_partno[]" id="item_partno[]" type="text">
</td>
</tr>
</tbody>
</table>
</div>
<div class="addMoreDIV">
</div>
<table>
<tr>
<td>
<input value="--Update Data--" type="submit">
</td>
</tr>
</table>
</form>
当你请求"帮助"时,请更加友善。
相关文章:
- JQuery:当其他输入字段的值发生更改时更改值
- 在jsp中,隐藏一个基于其他具有日期选择器的字段的字段
- AngularJS:必需属性适用于某些字段,但不适用于其他字段
- 在维护输入内容的同时添加其他字段
- 在其他文本输入字段中输入文本时启用复选框
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)
- 停止jQuery表单验证重置由其他JavaScript填充的typeahead.js输入字段
- AngularJS客户端验证:根据其他字段更改验证要求
- 如果选择'其他'然后填充输入字段
- 使用AJAX值的Fileupload不会在表单中传递其他字段
- AngularJS-在键入自动完成后填充其他字段
- 如果使用jquery输入一个字段,则自动填充其他字段
- 如果其他字段包含文本,则阻止文本字段
- 在响应之前向文档添加其他字段
- jQuery:如果一个字段有Class,则计算其他字段中的单词
- Yii2 输入字段设置禁用取决于其他字段
- 只有文件上传到数据库,所有其他字段均为空
- 选择其他字段元素时如何重置选择选项下拉列表
- Javascript:根据其他字段合并两个JSON
- 如果在带有 JavaScript 的菜单中选择了其他字段,则显示其他字段