代码之家  ›  专栏  ›  技术社区  ›  Mikayil Abdullayev

查找名称属性值中包含[somedigit]的输入

  •  0
  • Mikayil Abdullayev  · 技术社区  · 9 年前

    我有几个div,里面是这样的输入:

    <div class="executor">
       <input type="hidden" name="Task.Executors[0].Id"/>
       <input type="hidden" name="Task.Executors[0].Name"/>
       <input type="hidden" name="Task.Executors[0].JobTitle"/>
    </div>
    <div class="executor">
       <input type="hidden" name="Task.Executors[1].Id"/>
       <input type="hidden" name="Task.Executors[2].Name"/>
       <input type="hidden" name="Task.Executors[3].JobTitle"/>
    </div>
    

    我需要一个这样做的选择器:查找那些名称包含 Executors[somedigit] 那个 somedigit 部分原因是我很难做到。我需要正则表达式吗?

    编辑:我似乎错过了一个非常重要的部分。我需要改变 执行人[somedigit] 类似于 Executors[2] .所以我需要一些东西来帮助我更换 某位数字 另一个。

    为什么我需要这个。假设有100个这样的div。通常,最后一个div将包含其名称包含的隐藏输入 Task.Executors[99] .现在,假设第87个div被移除。现在有99个div,现在最后一个div中的输入必须从 任务.执行器[99] Task.Executors[98] 。我需要这些索引是正确的,以便我的模型是有效的模型。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Milind Anantwar    9 年前

    您可以使用属性包含选择器以及所需数字的连接:

    var somenum = 2;
    $('[name*="Executor['+ somenum  +']"]')
    

    演示:

    $(function(){
    var somenum = "0";
    $('[name*="Executor['+ somenum  +']"]').val('abv')
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <div class="executor">
       <input type="text" name="Task.Executor[0].Id"/>
       <input type="text" name="Task.Executor[0].Name"/>
       <input type="text" name="Task.Executor[0].JobTitle"/>
    </div>
    <div class="executor">
       <input type="text" name="Task.Executor[1].Id"/>
       <input type="text" name="Task.Executor[2].Name"/>
       <input type="text" name="Task.Executor[3].JobTitle"/>
    </div>
        2
  •  0
  •   Nirpendra Patel    9 年前

    您可以使用css选择器 $("[name^='Task.Executor']") 用于选择名称以Task.Executor开头的所有元素。

    有关更多选择器,您可以查看: http://www.w3schools.com/jquery/jquery_ref_selectors.asp

    推荐文章