【问题标题】:Jquery loop - capture the valueJquery循环 - 捕获值
【发布时间】:2009-05-13 21:11:48
【问题描述】:

我在 php 中运行此循环,但在输出期间使用 jquery click 函数。如何记录单击了 $i 的哪个实例。当我使用 $(this) 它返回 id。

$('#pid-form').val('$frame_id[$i]') 实际上有我想要的数字作为值,但我不知道如何使用它或将它转换为一个变量我可以使用。

for($i = 0; $i < $numRecords2; $i++){

$prod_id = $_SESSION['prod_array'][$frame_id[$i]];
echo"

$('#frame$frame_id[$i]').click(function() {
    $('#top-left-frame').html('<img src=\"$upper_left[$i]\" alt=\"\" />');
    $('#top-mid-frame').css('background-image','url($upper_middle[$i])'); 
    $('#top-right-frame').html('<img src=\"$upper_right[$i]\" alt=\"\" />');
    $('#mid-left-frame').css('background-image','url($middle_left[$i])'); 
    $('#mid-right-frame').css('background-image','url($middle_right[$i])'); 
    $('#bottom-left-frame').html('<img src=\"$bottom_left[$i]\" alt=\"\" />');
    $('#bottom-mid-frame').css('background-image','url($bottom_middle[$i])'); 
    $('#bottom-right-frame').html('<img src=\"$bottom_right[$i]\" alt=\"\" />');
    $('#frame-select').html('$prod_id');
    $('#pid-form').val('$frame_id[$i]');
    $('#oa_id-form').val('$prod_id');
    var frameState = $(this).attr('id');
    $.cookie('frameState', frameState, { expires: 7 });     
    alert($.cookie('frameState') + ' was clicked.');
 });
";
 }

【问题讨论】:

  • 这不是很清楚。你要录在那里吗?对于每一帧,您都使用单独的 onclick 处理程序,因此您肯定可以获得 $i 值,但我不确定您记录它是什么意思?
  • 这是一个相框应用程序。它允许您选择不同的抠图选项 - 当您选择不同的抠图选项时 - 它会再次加载默认帧。我想保存最后一帧,以便它停止恢复为默认值。我想如果我将值 $I 存储在一个 cookie 中,它会很容易再次加载。我是 PHP 新手,所以如果有其他方法我会很感激。
  • 如果有明显的我遗漏的东西不要害羞。

标签: php jquery


【解决方案1】:

如果 "frame$frame_id[$i]" 是被点击对象的 id,您可以使用以下方法提取 id:

$(this).attr('id').replace(/[^\[]*\[([^\]]*)\]$/, '$1')

这将操纵 id 并仅返回括号之间的值。

【讨论】:

  • 没有完全按计划工作,但引导我找到了正确的答案。我只是在“框架”上用“”替换并得到了号码。非常感谢。
【解决方案2】:

为什么不像你已经在脚本中其他任何地方所做的那样简单地对其进行硬编码?

注意:恕我直言,这是一个非常糟糕的设计;与其为数组中的每个元素创建所有这些,不如创建一个静态 JS 函数来完成所有这些,然后使用参数调用它以传递额外的信息。

【讨论】:

    猜你喜欢
    • 2013-12-15
    • 2017-07-23
    • 2013-09-22
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多