2016-04-19 2 views
0

У меня есть несколько дивы, внутри которых находятся входы, как это:Найти вход которого значение атрибута название [somedigit] в нем

<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. Нужно ли мне регулярное выражение?

EDIT: Кажется, я пропустил очень важную роль. Мне нужно изменить Executors[somedigit] на что-то вроде Executors[2]. Поэтому мне нужно что-то, что поможет мне заменить somedigit на другой.

EDIT2: Зачем мне это нужно. Предположим, что существует 100 таких div. Обычно последний div будет содержать скрытые входы, имя которых содержит Task.Executors[99]. Теперь, допустим, 87-й div будет удален. Теперь существует 99 разделов, и теперь входы из последнего div должны иметь свои имена, измененные с Task.Executors[99] на . Мне нужны эти индексы, чтобы они были правильными, чтобы моя модель была действительной моделью.

+0

вы может использовать атрибут содержит селектор '$ ('[name * = "Executor ["]') ' –

+0

вы имеете в виду, что хотите, чтобы какой-то конкретный отбор был исполнен [2] только за один раз –

+0

Я собираюсь перебирать внутри divs, у которых есть класс« исполнитель ». На каждой итерации мне нужно заменить часть 'somedigit' текущим индексом итерации. –

ответ

2

Вы можете использовать атрибут содержит селектор вместе с конкатенации необходимого количества:

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

DEMO:

$(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>

+0

Я не знаю значения 'somenum' перед песнями. –

+0

непонятный. вы можете уточнить. какие элементы вы хотите настроить? –

+0

Я добавил больше вопросов к моему вопросу. См. EDIT2 –

0

Вы можете использовать css selector $("[name^='Task.Executor']") для выбора всех элементов с именем, начинающимся с Task.Executor.

для более селекторов, вы можете проверить: http://www.w3schools.com/jquery/jquery_ref_selectors.asp

+0

Я отредактировал свой вопрос. См. Обновление –

Смежные вопросы