我有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>
答案 0 :(得分:2)
你不需要包装纸。你可以用3行来完成。
$inputs = $('input[name="cityinput"]');
$('.data_fromCity').each(function(i, obj) {
$($inputs.get(i)).val( $(obj).text() );
});
答案 1 :(得分:0)
使用包装器会更容易:
<?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>