Я использую plugin, чтобы дать моим <select>
элементам изображения, загруженные jquery. Дело в том, что имена не переносятся на новый код и, следовательно, не могут отправить форму, окружающую ее. Новый код выглядит следующим образом:Jquery foreach set name attribute как значение
<div id="itemselect1" name="item1" class="dd-container">
<div class="dd-select">
<input class="dd-selected-value" value="Apple" type="hidden">
</div>
</div>
<div id="itemselect2" name="item2" class="dd-container">
<div class="dd-select">
<input class="dd-selected-value" value="Orange" type="hidden">
</div>
</div> // the list continues
Так что я попробовал этот подход к передаче имен через:
var list = {
"itemselect1": "item1",
"itemselect2": "item2",
"itemselect3": "item3",
"itemselect4": "item4",
"itemselect5": "item5",
"itemselect6": "item6"
};
$.each(list, function(key, value) {
$("#"+ key).children().children("input.dd-selected-value").attr("name", value);
});
Хотя это все еще не работает. Элементы <input>
не имеют имен. Есть какие нибудь идеи как это починить? Благодаря!
Edit: Я добавил некоторые изменения, чтобы помочь диагностировать проблему
$.each(list, function(key, value) {
$("#"+ key).children().children("input.dd-selected-value").attr("name", value);
console.log(key);
console.log(value);
console.log($("div#"+ key).attr("name"));
});
Вот что консоль говорит:
itemselect1 (index):30
item1 (index):31
undefined (index):32
itemselect2 (index):30
item2 (index):31
undefined (index):32
Я попытался это в конце плагина jquery, а также в тегах <script>
в файле index
. Похоже, это не нахождение названия. Я буду держать копать ...
это выглядит хорошо для меня - http://jsfiddle.net/arunpjohny/wa01cmsn/2/ - проверьте атрибуты входного по имени действительно меняются путем проверки скрытых элементов. –
Ваш ввод должен иметь атрибут имени, добавленный как указано @ArunPJohny. Вы также можете заменить этот код '$ (" # "+) .children(). Children (" input.dd-selected-value "). Attr (" name ", value);' с просто '$ (" # "+ key +" input.dd-selected-value "). attr (" name ", value);' Поскольку у вас уже есть два идентификатора, которыми вы располагаете. не нужно называть 'childer(). children()' – andrex
@ArunPJohny Кажется, что там работает, я думаю, что он сталкивается с чем-то в плагине. – Kragalon