gpt4 book ai didi

php - jQuery 函数未在 PHP foreach 循环内执行

转载 作者:行者123 更新时间:2023-11-28 21:18:19 24 4
gpt4 key购买 nike

我正在尝试为过滤器面板生成多个复选框,选中这些复选框后将刷新考虑特定参数的产品列表。

在 foreach 循环中,我通过从 API 调用的 xml 数据收集过滤器属性,成功创建了复选框

foreach ($attrib->attributeValues->attributeValue as $attribValue)
{
$attribValue = $attribValue->name;
$attribValueID = $attribValue[@id];

$BODY .= sprintf("<input type=\"checkbox\" name=\"%s\" value=\"%s\" id=\"%s\" checked%s=\"checked\" /> %s ",
$attribClass, $attribValue, $attribValue, $attribValue, $attribValue);

接下来,我将使用两个简单的警报来测试一个基本的 jQuery 函数,以确保这些函数确实被调用

$BODY .= "<script type=\"text/javascript\">";
$BODY .= "alert('Hello world!');";
$BODY .= "$(\"#".$attribValue."\").change(function() {";
$BODY .= "var $input = $(this);";
$BODY .= "alert(\"".$attribValue."\");";
$BODY .= "}).change();</script>";

当我在页面上运行此命令时,渲染的 html 源代码明确显示正在生成 jQuery 函数(多次,每个创建的复选框一个),但我没有看到任何警报 - 外部的警报函数,或者里面的函数。这是我第一次使用 jQuery - 有什么想法吗?一如既往地感谢!

编辑:抱歉,这是为两个复选框生成的 HTML 源代码 - 这适用于所有存在的复选框,均为两位数。

<input type="checkbox" name="Color" value="Black" id="Black" checkedBlack="checked" /> Black <script type="text/javascript">alert('Hello world!');$("#Black").change(function() {var  = $(this);alert("Black");}).change();</script>
<input type="checkbox" name="Color" value="Silver" id="Silver" checkedSilver="checked" /> Silver <script type="text/javascript">alert('Hello world!');$("#Silver").change(function() {var = $(this);alert("Silver");}).change();</script>

最佳答案

这是我更新的修复。

$BODY .= "<script type=\"text/javascript\">";
$BODY .= "$(document).ready(function(){";
$BODY .= "alert('Hello world!');";
$BODY .= "$(\"#".$attribValue."\").live('click',function() {";
$BODY .= "var \$input = $(this);";
$BODY .= "alert(\"".$attribValue."\");";
$BODY .= "}).click();});</script>";

您可以在 Fiddle 中看到此输出的示例

我确实必须在 $(document).ready() 中写入,并转义 php 中的 $input 以确保它不会呈现为 php字符串。我还将 .change() 更改为 .live('click',.click()

实时部分将确保动态加载的复选框可见。我只是更喜欢点击事件,如果您愿意,您可以将其设置为更改。

干杯!

关于php - jQuery 函数未在 PHP foreach 循环内执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7032748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com