我目前正在運行一個html和jQuery代碼,但對我來說看起來非常難看。我真的很感激建議,這樣做更聰明。更智能的方式來更新jQuery中的td內容
目標:使用輸入字段更新php生成的表的單元格。每個單元格都包含一個應該與輸入相乘的基本值。
目前,我讀取輸入值,從隱藏輸入中獲取每個單元格的基本值,並重寫每個單元格的全部html(隱藏輸入+更新數據)。
HTML代碼:
<table id='tbl'>
<thead>
<tr>
<th colspan="2">Quantity:
<input type="text" id="quantity" name="quantity" value="1">
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input name="1_1" type="hidden" value="11"><span>11</span>
</td>
<td>
<input name="1_2" type="hidden" value="12"><span>12</span>
</td>
</tr>
<tr>
<td>
<input name="2_1" type="hidden" value="21">21
</td>
<td>
<input name="2_2" type="hidden" value="22">22
</td>
</tr>
<tr>
<td>
<input name="3_1" type="hidden" value="31">31
</td>
<td>
<input name="2_2" type="hidden" value="32">32
</td>
</tr>
</tbody>
</table>
腳本:
$('#quantity').keyup(function() {
var quantity = parseFloat($(this).val());
if (quantity == "" || isNaN(quantity))
quantity = 1;
$('#tbl tbody tr td').map(function() {
var $row = $(this);
var $refvalue = $row.find(':input[type=hidden]').val();
var $refname = $row.find(':input[type=hidden]').attr('name');
$row.html('<input name="' + $refname + '" type="hidden" value="' + $refvalue + '">' + $refvalue * quantity);
});
});
小提琴:http://jsfiddle.net/5KKrD/
有沒有更好的辦法呢?我可以更改表格,js等等。
問候
爲什麼要使用' ':輸入[類型=隱藏]' 的',而不是僅僅' '輸入[類型=隱藏]'' – tborychowski