JQuery скрипт в цикле php foreach

У меня есть цикл php foreach, где .data_fromCity содержит разные значения для каждого элемента. Каждый элемент имеет форму с вводом. Что я хочу сделать, это получить значение переменной EACH $ fromCity и добавить его к этому входу.

<?php foreach( $rows as $row ) : { ?>

<div class="data_fromCity"><?php echo $fromCity; ?></div>
<form><input type="text" name="cityinput" value=""></form>

<?php } ?>

Я думал о добавлении в этот цикл чего-то подобного, но он добавляет текст всех элементов php в одну строку для всех элементов.

<script> $("input[name='cityinput']").val($('.data_fromCity').text()); </script>

Это должно быть легко в jquery, но я не очень хорош в jquery 🙂 Спасибо за любую помощь!

Исходный код, который отображается на веб-интерфейсе:

<div class='wrapper'>

<div class="data_fromCity">London</div>
<form><input type="text" name="cityinput" value=""></form>

<div class="data_fromCity">Rome</div>
<form><input type="text" name="cityinput" value=""></form>

<div class="data_fromCity">Paris</div>
<form><input type="text" name="cityinput" value=""></form>

<div class="data_fromCity">Madrid</div>
<form><input type="text" name="cityinput" value=""></form>

</div>

2

Решение

С оберткой будет проще:

<?php foreach( $rows as $row ) : { ?>

<div class='wrapper'>
<div class="data_fromCity"><?php echo $fromCity; ?></div>
<form><input type="text" name="cityinput" value=""></form>
</div>

<?php } ?><script type='text/javascript'>

$.each($('.wrapper'), function(){
$this = $(this);
text = $this.find('.data_fromCity').text();
$this.find('input[name="cityinput"]').val(text);
});

</script>
0

Другие решения

Вам не нужна обертка. Вы можете сделать это в 3 строки.

$inputs = $('input[name="cityinput"]');
$('.data_fromCity').each(function(i, obj) {
$($inputs.get(i)).val( $(obj).text() );
});

Демо-версия: http://jsfiddle.net/ya3vewgo/

2

По вопросам рекламы [email protected]