【问题标题】:Pass a jquery var to a php var in Magento 1.7.2 is not working将 jquery var 传递给 Magento 1.7.2 中的 php var 不起作用
【发布时间】:2013-07-17 11:42:22
【问题描述】:

Magento 1.7.2 中的以下代码不起作用,我不明白原因...

我有以下 php 代码:

<div class="input-box">                                             
    <select id="attribute137" class="required-entry super-attribute-select">
        <option><?php echo $this->__('Choose an Option...') ?></option>
        <option><?php echo 'Company1' ?></option>
        <option><?php echo 'Company1' ?></option>
    </select>
</div>

<div id="Mydate">
<?php
    echo Time() . '<br/>';
    $company = $_REQUEST['company'];
    echo  'company : ' . $company . $_POST['company'] . '<br/>';
?>
</div>

我尝试在 jquery 中将选定的值推送到 post 变量“company”中,如下所示:

jQuery("#attribute137").change(function (){
    jQuery.ajax({
       type: "POST",
       url: "./calendar",
       data: {company : 'test'},
       success: function(msg){
         alert( "Data Saved: " + company);
       } 
    });
    jQuery('#Mydate').load('./calendar #Mydate');

});

我也试试:

jQuery.post('/calendar', {'company': jQuery("#attribute137 option:selected").val()});
jQuery('#Mydate').load('./calendar #Mydate');

然后,当我更改我的选择时,时间会更新,但变量公司没有恢复...... => 变量 company 返回 Null 而 JQuery("#attribute137 option:selected").val() 返回所选值... 所以我认为变量的转移不起作用,但我不明白为什么......

你知道为什么吗?

感谢您的帮助!

【问题讨论】:

  • 你能澄清一下到底是什么不起作用吗? Ajax 请求返回什么?
  • 您好 Pekka,感谢您的关注。我完成我的问题是为了解释什么不起作用......

标签: jquery magento post load


【解决方案1】:

我的猜测是 jQuery 对 ID #Mydate 的双重使用感到窒息。 ID 应该是唯一的。

在发送 Ajax sn-p 时尝试使用不同的 ID 或类名。

【讨论】:

  • 你说的是这条线? :jQuery('#Mydate').load('./calendar #Mydate');在这种情况下,我可以添加一个 div Mydate2 包装 Mydate。那是你认为我必须做的吗?
  • @Arnaud 您不应该在一个文档中有两个具有相同 ID 的元素。如果您可以将第二个元素重命名为 Mydate2,那应该可以正常工作
  • 很抱歉,我只有一个名为 MyDate 的 div...我不明白您的评论。
  • @Arnaud 在你提出 Ajax 请求的那一刻,你有两个,不是吗?
  • @Arnaud 我不确定我是否跟随。您的代码编写方式将会发生。您需要对其进行更改,以免出现重复的 ID。
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多