ASP.NET MVC Checboxes禁用/启用文本框
ASP.NET MVC Checboxes disabling/enabling textboxes
我有一个包含三个文本框和一个复选框的视图:
@foreach( var item in Model )
{
<tr>
<td>
@Html.CheckBox("name")
</td>
<td>
@Html.EditorFor(m => item.Toolbox)
</td>
<td>
@Html.EditorFor(m => item.Name)
</td>
<td>
@Html.EditorFor(m => item.Link)
</td>
</tr>
}
我如何创建JS代码来将这些复选框绑定到不同的文本框?这个"名称"复选框应该在每次循环创建它时禁用/启用三个文本框。Model中有500多个项目。
您可以设置counter并为每个块创建唯一的类或某些属性。例如:
<table id="myTable">
@{
int c = 0;
for(int i = 0; i < Model.Count; i++)
{
c++;
<tr class="@("block"+c)">
<td>
@Html.CheckBox("name", new {data_block=c})
</td>
<td>
@Html.EditorFor(m => item.Toolbox)
</td>
<td>
@Html.EditorFor(m => item.Name)
</td>
<td>
@Html.EditorFor(m => item.Link)
</td>
</tr>
}
</table>
然后CCD_ 1代码:
$(function(){
$('#myTable checkboxes').click(function(){
var checkbox = $(this),
blockNum = checkbox.data('block'),
inputs = $('tr.block'+blockNum),
state = checkbox.is(':checked');
$.each( inputs, function( i, el ){
$(el).prop("disabled", state);
});
});
});
另一种方式
<table id="myTable">
@foreach( var item in Model )
{
<tr>
<td>
@Html.CheckBox("name", new { @class = "nameCheckbox" })
</td>
<td>
@Html.TextBoxFor(m => item.Toolbox, new { @class = "someCleverClassName" })
</td>
<td>
@Html.TextBoxFor(m => item.Name, new { @class="someCleverClassName" })
</td>
<td>
@Html.TextBoxFor(m => item.Link, new { @class="someCleverClassName" })
</td>
</tr>
}
</table>
和javascript
$(function(){
$('#myTable .nameCheckbox').click(function(){
$(this).closest('tr').find('.someCleverClassName').prop("disabled", $(this).prop('checked'));
});
});
相关文章:
- 使用javascript Without Ajax/Jquery在特定行中启用文本框
- 单击每个表格行中的复选框时启用文本框
- 禁用基于下拉列表选择 asp.net JavaScript 启用文本框
- 根据下拉列表中的选定值启用文本框
- 重新启用文本选择(Opera、webkit等)
- 根据输入启用文本框
- 通过JS功能在中继器中启用文本框
- 启用文本框选中复选框数组
- 如何在特定行中启用文本框
- 单选按钮未启用文本框
- 启用文本输入
- 与disableSelection功能相反,后者用于为特定HTML元素启用文本选择
- ASP.NET MVC Checboxes禁用/启用文本框
- 无法使用mootools启用文本框
- 当下拉框中的值被选中时,启用文本框
- 选中单选按钮导致在asp.net中启用文本框
- 如何在ChromeOS应用程序窗口中启用文本选择
- 禁用/启用文本框,单击单选按钮
- 使用javascript启用文本框
- 启用文本选择javascript