php foreach循环中的jquery脚本

Posted

技术标签:

【中文标题】php foreach循环中的jquery脚本【英文标题】:Jquery script in php foreach loop 【发布时间】:2015-06-20 03:29:06 【问题描述】:

我有 php foreach 循环,其中 .data_fromCity 包含每个元素的不同值。每个项目都有带有输入的表单。我想要做的是获取每个 $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>

【问题讨论】:

你不能&lt;input type="text" name="cityinput" value="&lt;?php echo $fromCity; ?&gt;"&gt; @Drakes 为什么?它是 php 循环,我正在为每个项目获取该变量。 $fromCity 从何而来?在您的循环中,它看起来总是保持不变。 @Drakes 我是从自定义字段中获取的 ($fromCity= $row['from_city'];) 忘记将其添加到代码中。所以每个项目都不同。 然后就像我之前的评论一样在 PHP 中完成所有操作。为什么还要使用 jQuery?我错过了什么?您想将&lt;div class="data_fromCity"&gt; 中的文本复制到其下方&lt;input&gt; 的值,对吗? 【参考方案1】:

您不需要包装器。只需 3 行即可完成。

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

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

【讨论】:

您在我发布此内容前 50 秒选择了一个答案,但只是为了好玩尝试一下,这样您就不必再添加任何 html 是的,它也很完美:) 非常感谢。你们真棒。这里有如此多的帮助和如此快速的问题解决。 当你得到两个代表然后 k 时投票赞成......现在你可以了。 ;)【参考方案2】:

使用 wrapper 会更容易:

<?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>

【讨论】:

不,它不起作用:(它还将所有 data_fromcity 值作为每个项目输入中的一个大字。 请告诉我,你在 $fromCity 怎么样? $fromCity = 是 f.e.伦敦。所以我得到了 f.e. 4 个项目,我有 fromcity 变量 = 某个城市,并为每个项目输入表单。所以 4 个带有城市的 div,4 个该城市应该附加到的输入。 请从结果 html 页面中将您的部分添加到您的答案中。 刚刚编辑了我在这个问题中的第一条评论,请参阅“前端呈现的源代码是”部分

以上是关于php foreach循环中的jquery脚本的主要内容,如果未能解决你的问题,请参考以下文章

foreach 循环中的逗号分隔变量到 php 脚本中的 xml 行

Jquery Bootstrap Dropdown 在使用 PHP 中的 foreach 循环填充的表中不起作用

如何在php中使用foreach循环将数据从数据库检索到jquery-ui手风琴

jquery foreach和each的区别

php foreach循环大的数据量,在其执行1个多小时后就中断了?有可能是啥原因?

jQuery Ajax $.post 传给php里面有foreach循环,最后拿到的数据循环只执行一次。怎么解决?