如果使用jquery输入一个字段,则自动填充其他字段

时间:2016-03-24 04:28:41

标签: javascript jquery html

请检查我的小提琴。

Fiddle

当我在slab_range的任何行中输入任何数据时,我需要使用值“No Bid”自动填充“Slab Range”的所有其他行。如果我留空,则无需填写任何内容。同样,如果我在“零件编号”中输入任何数据,则“零件编号”的所有其他行必须填充值“2”。这些行来自db,所以我不知道它会有多少行,它应该遍历所有行。

    <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>

1 个答案:

答案 0 :(得分:0)

你去了,现在重构代码是你的任务,因为两种方法都是等价的。

&#13;
&#13;
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();
&#13;
<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&amp;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">
		&nbsp;</div>

	<table>
		<tr>
			<td>
				<input value="--Update Data--" type="submit">
			</td>
		</tr>
	</table>
</form>
&#13;
&#13;
&#13;

当你要求&#34;帮助&#34;时,请更加友好。