Как я могу получить значение легенды набора полей и передать это значение в скрытое поле
Мне нужен способ добавить скрытое поле в набор полей, который содержит значение легенды этого набора полей.
Я могу получить поле ввода, добавленное после каждой легенды набора полей, но я не могу получить значение набора полей, переданное в значение скрытого поля.
Вот что у меня есть до сих пор:
<script type="text/javascript">
var theLegend = $('legend');
$('<input type="hidden"name="hiddenList[]" value="' + theLegend.val() + '">').insertAfter('legend');
</script>
В целом я пытаюсь добиться того, чтобы значение легенды набора полей передавалось в базу данных. Мне нужно, чтобы скрытые поля были в пределах их соответствующих наборов полей. То формы создаются с помощью конструктора форм в CMS, и я не могу "взломать" код для конструктора форм, поэтому мне нужен способ сделать это с помощью jquery/javascript, и я в значительной степени новичок в jquery...
2 ответа:
Я бы предложил что-то вроде следующего:
$('legend').each( function(i,e){ var that = $(e), parent = that.closest('fieldset'), text = that.text(); $('<input />', {'type' : 'hidden', 'name' : 'hiddenList[]', 'value' : text}) .appendTo(parent); });
Чтобы увидеть вывод, щелкните правой кнопкой мыши и выберите "проверить элемент" в тексте
legend
.Одна из проблем, с которой вы столкнулись, заключается в том, что вы использовали
val()
для извлечения текста элемента (толькоinput
, аtextarea
элементы имеютvalue
/val()
), тогда какtext()
- это то, что вы хотите в этом случае.