对动态插入的表单元素禁用下一个表单字段
Disable next form field on dynamically inserted form elements
我知道这个问题以前被问过很多次,但这些解决方案似乎都不适用于我的情况。
我需要每行上的复选框来禁用下一个文本字段。每个表行都是动态创建的(JS克隆)。只有第一行是静态的。接下来的每一行,名称和ID都会附加一个新的数字(formfield1、formfield2等),并在页面加载后发生。
HTML
<div class="add_rec_container" id="fuel_stop" style="display:block;"><!--open #fuel_stop-->
<p class="label">Enter Fuel Stop:</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="fuel_stop_table" class="fuel_data">
<tbody>
<tr>
<td><select name="data_fuel_state1" id="data_fuel_state1" class="state_menu">
<option value="AZ">AZ</option>
<option value="CA" selected="selected">CA</option>
<option value="NM">NM</option>
<option value="NV">NV</option>
<option value="OR">OR</option>
<option value="UT">UT</option>
</select>
</td>
<td><input type="tel" name="data_total_gal1" id="data_total_gal1" class="help total_gal_field" title="Gallons"/></td>
<td><input type="checkbox" name="data_yard1" id="data_yard1" class="enablePPG" value="yes" onclick="disablePPG(this);"/> Yard
</td>
<td>$ <input type="tel" name="data_price1" id="data_price1" class="help price_field" title="PPG" /></td>
</tr>
</tbody>
</table>
<a id="add_fuel_row" class="add_btn">+ State</a>
</div><!--close #fuel_stop-->
<input type="submit" name="Submit" class="send_button" value="Send"/>
</form>
</div><!--close .record_entry_container-->
JS(不工作,但我认为应该)
function disablePPG() {
$(this).click(function() {
if ($(this).is(':checked')){
$(this).next('.price_field').prop('disabled', true);
} else {
$(this).next('.price_field').prop('disabled', false);
}
});
}
下面的JS适用于表单元素的第一行,但显然不是添加多行的解决方案。
function disablePPG() {
$(this).click(function() {
if ($('#data_yard1').is(':checked')) {
$('#data_price1').prop('disabled', true);
} else {
$('#data_price1').prop('disabled', false);
}
});
}
非常感谢您的帮助。
$(".enablePPG").on("click", function()
{
if($(this).is(":checked") == true)
$(this).parent().next().children().attr("disabled", "disabled");
else
$(this).parent().next().children().removeAttr("disabled");
});
相关文章:
- 为网站表单创建一个专业的日历
- 使用javascript从表单发布一个值,然后使用php发布
- 在 Ajax Rails 表单提交后,在表单下发布额外的 Javascript 代码 ( ..等)
- Javascript表单.使一个条目依赖于另一个条目
- HTML表单下拉数据源
- 在Sinatra,我如何在表单下弹出多页,并在您填写时保持在同一页上
- 表单下拉选择链接
- javascript表单提交一个值应该大于另一个值x>y
- 两个表单,一个选择/下拉框-需要将选择值从一个表单复制到另一个表单
- 几个 Ajax 添加到购物车表单在一个页面上
- 如何为新表制作下一个代码滑块
- 表单操作 一个外部 JavaScript 函数
- 代码点火器动态表单下拉列表,不返回值,而是返回 ID
- 如何使用 JavaScript 将选项添加到 HTML 表单下拉列表中
- 一次提交两个 HTML 表单,一个在当前窗口中,一个在新窗口中
- 表单下拉列表(微调器)并尝试将值更改为所选项目值
- javascript 如何区分表单的一个按钮和另一个按钮
- 对单个页面上的多个表单使用一个脚本
- 如何防止jquery验证表单只有一个按钮
- 如何在jQuery中检查表单下是否存在一个元素