【发布时间】:2013-06-18 22:12:29
【问题描述】:
问题 1:
以下代码应该启用/禁用 jquery 动态添加的输入字段,但它没有按预期工作:
$(document).ready(function () {
$('#auto').change(function () {
if ($(this).val() == 1) {
$('input[id="speed_car"]').prop('disabled', false).css('background', '').val('4')
} else {
$('input[id="speed_car"]').prop('disabled', true).css('background-color', '#03f').val('')
}
});
});
问题 2:如果我保存该字段并重新加载页面它可以工作,但仅适用于第一个 (包含其他输入字段和选择)。
我应该如何更改代码以使其正常工作?
这是添加行的部分代码:
var modell = <?php echo $modell; ?>;
.
.
.
html += ' <td class="left"><select name="car_modell[' + modell + '][auto]">';
html += ' <option value="1" selected="selected"><?php echo $text_enabled; ?></option>';
html += ' <option value="0"><?php echo $text_disabled; ?></option>';
html += ' </select></td>';
html += ' <td class="left"><input type="text" maxlength="1" name="car_modell[' + modell + '][speed_car]" value="4" size="3" /> </td>';
ecc...
提前感谢您的帮助。
【问题讨论】:
-
只是想知道,输入 id speed_car 是唯一的吗? #auto change 是否按预期触发?你能提供一个jsfiddle BTW吗?
-
这是问题之一。它总是相同的ID。但我不知道如何用另一种方式写它
-
所以,简单的方法是不使用 ID 而是使用类。如果需要,您仍然可以应用一些上下文。那么 change 事件呢,它会被触发吗?
-
正如烤的所说,使用类而不是 id。 ID 必须是唯一的。
-
如果要添加行,id 或 class 将始终相同。不改变。问题是行是动态添加的。
标签: jquery input disabled-input