在循环内为每个CheckBox启用每个TextBox

时间:2014-03-11 09:31:16

标签: jquery asp.net-mvc

我在foreach中有一个输入类型文本。我看,例如五个带有五个文本框的复选框。但默认情况下,我只想在启用复选框时才能看到文本框。

我的jQuery代码出了什么问题?

<div>
  <input type="checkbox" class="show" name="changedescr" value="changedescr"/>
    @Html.TextBoxFor(m => m.Description, new { @class="hidden" });
</div>

<script type="text/javascript">
  $(".hidden").hide();

  $(".show").each(function () {
    $(this).click(function () {
      $(".hidden").each(function () {
        $(this).show();
      });
    });
  });
</script>

2 个答案:

答案 0 :(得分:2)

我认为您正在尝试切换复选框选中/取消选中的文本框:

试试这个:

$('.hidden').hide();
$('.show').click(function(){
    $(this).next('.hidden').toggle();
})

这是小提琴:http://jsfiddle.net/sunnykumar08/K4dCz/

答案 1 :(得分:0)

试试这个。

HTML代码:

<input type="checkbox" class="show" name="changedescr" value="changedescr" />
<input type="text" class="txt" />

<input type="checkbox" class="show" name="changedescr" value="changedescr" />
<input type="text" class="txt" />

<input type="checkbox" class="show" name="changedescr" value="changedescr" />
<input type="text" class="txt" />

JavaScript代码:

$(".txt").hide();

$(".show").change(function() {
      $(this).next('.txt').toggle();
})