php foreach循环中的Jquery脚本

时间:2015-04-14 13:31:38

标签: php jquery loops append

我有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 个答案:

答案 0 :(得分:2)

你不需要包装纸。你可以用3行来完成。

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

演示:http://jsfiddle.net/ya3vewgo/

答案 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>