动态禁用多行文本框
disabling textbox for multiple rows dynamically
我使用d或w字段的事件onfocus动态创建行。我得到了正确的,但是单选按钮-当我选择dm时,d应该被禁用,cm, w应该被禁用。我不知道该怎么做。请帮帮我吧
<table class="table table-bordered table-hover" id="tvtable">
<thead>
<tr>
<th width="10%" style="text-align: center;">Type</th>
<th width="20%" style="text-align: center;">A</th>
<th width="20%" style="text-align: center;">d</th>
<th width="20%" style="text-align: center;">w</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="radio" name="wd0" id="rd" value="dr" />Dm
<br/>
<input type="radio" name="wd0" id="rc" value="cr" />Cm</td>
<td>
<select id="m0" class="form-control"></select>
</td>
<td>
<input class="form-control c1 amt" type="number" id="w0" name="amt1" />
</td>
<td>
<input class="form-control c2 amt" type="number" id="d0" name="amt2" />
</td>
</tr>
</tbody>
</table>
$(document).ready(function ()
{
if ($('#rd').prop('checked'))
{
$(".c1").attr("disabled", "disabled");
}
else if($('#rc').prop('checked'))
{
$(".c2").attr("disabled", "disabled");
}
var counter = 0;
$(document).on("focus", ".amt", function (event)
{
counter++;
var list = '<tr><td><input type="radio" name="wd' + counter + '" id="rd" value="dr" />Dm<br/><input type="radio" name="wd' + counter + '" id="rc" value="cr" />Cm</td><td><select id="m' + counter +
'" class="form-control "></select></td><td><input class="form-control c1 amt" type="number" id="w' + counter + '" name="amount" /></td><td><input class="form-control c2 amt" type="number" id="d' + counter + '" name="amount" /></td></tr>';
$('#tvtable').append(list);
});
});
http://jsfiddle.net/A8G5v/您在JSfiddle中没有包含jQuery,加上语法错误。
你动态地附加了复选框,所以if()..else()
不能在document.ready
上工作。
添加委托变更事件
$(document).on('change', ':radio', function () {
if ($(this).prop('checked') && $(this).val() == 'dr') {
$(this).parents('tr').find(".c1").attr("disabled", "disabled");
$(this).parents('tr').find(".c2").removeAttr("disabled");
} else{
$(this).parents('tr').find(".c2").attr("disabled", "disabled");
$(this).parents('tr').find(".c1").removeAttr("disabled");
}
});
注意:你的代码正在生成重复的id,这不会在以后的append
工作。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- onkeyup无法动态创建多个文本区域
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 在highcharts.js中向点弹出窗口动态添加文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 动态启用/禁用来自控制器的输入文本
- 如何动态添加和删除多个类名的文本
- 如何在flash html5画布项目中动态更改文本颜色
- 在动态crm 2011中,右键单击已完成活动的只读文本时,您是否出现错误
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 使用 JavaScript 将文本框的内容作为段落文本动态插入
- 当我点击td时,在jquery中获取td文本动态
- 将文本动态附加到
元素内的 元素会破坏我的设计
- Contentflow-如何使标题文本动态调整大小
- 如何在<text区域>当段落和文本动态地围绕URL时
- 通过内容脚本 - javascript 将文本动态注入 facebook 的共享对话框
- Jquery自动完成输入文本动态创建
- 如何根据预先确定的文本动态调整文本框高度的大小,但页面宽度可变
- 为添加的文本动态添加颜色