У меня есть таблица HTML с элементами ввода, которые я использую для пакетного редактирования. Я построил скелтон HTML-пример ниже. Может кто-нибудь, пожалуйста, помогите мне понять, как сделать что-то вроде следующего:
- добавить селектор в каждое из полей «Количество», например, .Кнопка ()
- получить значение в полях Количество и Сумма, например, .val ()
- обновить поле Всего, например, .text ()
Основная проблема заключается в том, что HTML генерируется моим представлением в моем приложении ASP.Net MVC, а соглашение об именовании для входного идентификатора - "objectName_indexNumber_propertName" - например, MyObject_1_Quantity.
Могу ли я просто сделать цикл for / .each (), а затем выполнить строковое манипулирование, чтобы получить идентификатор и выполнить мою магию? Есть ли способ лучше? Спасибо.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// how do I select all of them?
$('#MyObject_1_Quantity').change(DoCalculation);
});
function DoCalculation() {
alert("what should I do here? I need to know the index/row I'm in, and which cell triggered me.");
}
</script>
</head>
<body>
<p>Test jquery Selector</p>
<table>
<tr>
<td>Row 1</td>
<td><input type="text" id="MyObject_1_Quantity" /></td>
<td><input type="text" id="MyObject_1_Rate" /></td>
<td><span id="MyObject_1_Total">$100.00</span></td>
</tr>
<tr>
<td>Row 2</td>
<td><input type="text" id="MyObject_2_Quantity" /></td>
<td><input type="text" id="MyObject_2_Rate" /></td>
<td><span id="MyObject_2_Total">$100.00</span></td>
</tr>
<tr>
<td>Row 3</td>
<td><input type="text" id="MyObject_3_Quantity" /></td>
<td><input type="text" id="MyObject_3_Rate" /></td>
<td><span id="MyObject_3_Total">$100.00</span></td>
</tr>
</table>
</body>
</html>