Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在html中的每个div中调用javascript函数_Javascript_Ajax_Html - Fatal编程技术网

在html中的每个div中调用javascript函数

在html中的每个div中调用javascript函数,javascript,ajax,html,Javascript,Ajax,Html,嗨,我有一个javascript函数,我希望它在c_id循环时调用。但我对此一无所知 这是我的功能 function getCLowestPrice(c_id){ $.ajax({ type: "POST", url: 'http://sample.com/api/store_lowest_price/', dataType: "xml", cache: false, data: {'id' : c_id}, success: fu

嗨,我有一个javascript函数,我希望它在c_id循环时调用。但我对此一无所知

这是我的功能

    function getCLowestPrice(c_id){
    $.ajax({
    type: "POST",
    url: 'http://sample.com/api/store_lowest_price/',
    dataType: "xml",
    cache: false,
    data: {'id' : c_id},
    success: function(resp){  
         // we have the response 
            console.log(resp); 

        $(resp).find("response").each(function() {
            var c_name = $(this).find("c_name").text();
            var c_currency = $(this).find("currency").text();
            var c_min_price = $(this).find("price_min").text();

            var formated_price = addCommas(parseFloat(c_min_price).toFixed(2));

            $('.cinformation').html("<p>Lowest Price : " + c_currency + " " + formated_price + "</p>");
        });

       },  
    }); 

}
函数getCLowestPrice(c_id){ $.ajax({ 类型:“POST”, 网址:'http://sample.com/api/store_lowest_price/', 数据类型:“xml”, cache:false, 数据:{'id':c_id}, 成功:功能(resp){ //我们得到了答复 控制台日志(resp); $(resp).find(“response”).each(函数(){ var c_name=$(this).find(“c_name”).text(); var c_currency=$(this).find(“currency”).text(); var c_min_price=$(this).find(“price_min”).text(); var formatted_price=addCommas(parseFloat(c_min_price).toFixed(2)); $('.cinformation').html(“最低价格:“+c\U货币+”+“+c\U格式价格+”

”); }); }, }); } 我希望它在div加载时调用。但它会循环所有客户机及其c_id

<div>
      Client : <?php echo get_post_meta($post->ID, 'wpcf-c', true); ?>
      <div class="cinformation">
          C ID = <?php echo get_post_meta($post->ID, 'wpcf-c-id', true); ?>
           ....
      </div>
...
</div>

客户:
C ID=
....
...
因此,当它循环时,它将是这样

<div>
     Client : Hello         
   <div class="cinformation">
     C ID = 1
     ....

   </div>
   ...
</div>
....
<div>
     Client : World         
   <div class="cinformation">
     C ID = 2
     ....

   </div>
   ...
</div>
....
....
...

客户:你好
C ID=1
....
...
....
客户:世界
C ID=2
....
...
....
....
...
但是我不知道如何在
cinformation div
中添加
getCLowestPrice(c_id)

我尝试使用
onload
,但它不能在div中使用

有人知道我的案子吗


提前感谢…

您需要使用如下数据属性放置您的C ID:

<div>
    Client : Hello         
    <div class="cinformation" data-c_id="1">
    </div>
</div>

你可以试着添加这个

<script type="text/javascript">
       getCLowestPrice (<?php echo get_post_meta($post->ID); ?>) 
</script>

getCLowestPrice()

在php中的for循环中,我不知道您想做什么。你能发布一个正在运行的JSFIDLE吗?我假设你正在调用的服务器不是你控制的服务器?即使不是,该API是否支持同一查询中的多个ID?如果可以的话,最好减少AJAX查询的数量。事实上,数据是否经常变化?我想你可能应该从php中查询并缓存信息谢谢daniel的回答,我试过了,但我遇到了这个问题。它只会调用第一个
data-c_id
,当我检查元素时,没有问题,有
,但是
getCLowestPrice(cId)
只会调用第一个
cinformation
丹尼尔的代码在我看来是正确的;听起来有些调试已经就绪。如果您使用的是Firebug,那么可以将断点放入其中,并检查jQuerySelect是否返回您期望的所有元素,以及函数是否被正确调用。如果您没有使用Firebug,则可以对alert()执行相同的检查
<script type="text/javascript">
       getCLowestPrice (<?php echo get_post_meta($post->ID); ?>) 
</script>