Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在客户端访问嵌套中继器的文本框_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript 在客户端访问嵌套中继器的文本框

Javascript 在客户端访问嵌套中继器的文本框,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,如何在父中继器控件的客户端事件中获取嵌套中继器文本框控件 我在父中继器控件的每个中继器项中都有一个复选框,在子中继器的每个中继器项中都有一个文本框。在checkbox change事件中,我需要查找客户端中该项的child repeater文本框中是否有任何值 我为textbox提供了一个类,但是下面的代码循环了父中继器中的所有textbox $'.RepeaterTextBox'.eachfunction{ var txtvalue=$this.val 单亲呈现的HTML如下所示 <

如何在父中继器控件的客户端事件中获取嵌套中继器文本框控件

我在父中继器控件的每个中继器项中都有一个复选框,在子中继器的每个中继器项中都有一个文本框。在checkbox change事件中,我需要查找客户端中该项的child repeater文本框中是否有任何值

我为textbox提供了一个类,但是下面的代码循环了父中继器中的所有textbox

$'.RepeaterTextBox'.eachfunction{ var txtvalue=$this.val

单亲呈现的HTML如下所示

   <table>
      <tr>
       <td>
          <input id="chkActive_0" name="chkActive" />
      </td>
  </tr>
  <tr>
      <td>
          <div id="divText" style="padding-left: 15px; display: none;">

              <table style="width: 100%">

                  <tr>
                      <td>
                          <div id="Category_0">

                              <textarea name="txtCategoryText" rows="2" cols="20"       id="CategoryText_0" class="RepeaterTextbox"></textarea>
                          </div>
                      </td>
                      <td>
                          <div id="Category_1">
                              <textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_1" class="RepeaterTextbox"></textarea>
                          </div>
                      </td>
                  </tr>
              </table>
          </div>
      </td>
  </tr>
      </table>
<div id="repeater_435734957439857435">
   <input type="text" class="RepeaterTextbox">Test</input>
   <input type="checkbox">
</div>
您可以使用检查表父属性

假设呈现的html如下所示

   <table>
      <tr>
       <td>
          <input id="chkActive_0" name="chkActive" />
      </td>
  </tr>
  <tr>
      <td>
          <div id="divText" style="padding-left: 15px; display: none;">

              <table style="width: 100%">

                  <tr>
                      <td>
                          <div id="Category_0">

                              <textarea name="txtCategoryText" rows="2" cols="20"       id="CategoryText_0" class="RepeaterTextbox"></textarea>
                          </div>
                      </td>
                      <td>
                          <div id="Category_1">
                              <textarea name="txtCategoryText" rows="2" cols="20" id="CategoryText_1" class="RepeaterTextbox"></textarea>
                          </div>
                      </td>
                  </tr>
              </table>
          </div>
      </td>
  </tr>
      </table>
<div id="repeater_435734957439857435">
   <input type="text" class="RepeaterTextbox">Test</input>
   <input type="checkbox">
</div>

这应该适用于您的标记:

$(document).ready(function () {
    $(document).on("click", "input:checkbox[name='chkActive']:checked", function () {
        var nexttr = $(this).closest('tr').next('tr');
        $(nexttr).find('textarea').each(function () {

            alert($(this).val());//Or whatever you want
        })

    });
});

试试看,嵌套的repeater中似乎有多个textarea,因此事件处理程序中的第二行将循环遍历每个textarea并在控制台中打印值

$("[type=checkbox]").on("change", function () {
    var oTexts = $(this).parents("tr").next().find("textarea");
    $(oTexts).each(function (ind, val) { console.log($(val).val()); });
});

请告诉我们到目前为止您已经尝试了什么,并提供您的代码。在您的服务器端代码中,为每个文本框指定一个类。然后在客户端,您可以使用该类获取所有输入控件附加任何单个转发器项的呈现HTMLparent@RashminJaviya,我包含了单个repeaterMy文本框的呈现html,它位于t的子/嵌套repeater中他是一个家长