0

嗨,我有一个 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>");
        });

       },  
    }); 

}

我希望它在加载 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>

所以当它循环时会是这样。

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

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

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

但我不知道如何getCLowestPrice(c_id)cinformation div.

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

有人知道我的案子吗?

提前致谢 ...

4

2 回答 2

1

You need to put your C ID using data attribute like so:

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

Then after the page loads just use jQuery to select all your divs and call your function:

$(".cinformation[data-c_id]").each(function(index, elem){
        var cId = $(this).data("c_id");
        getCLowestPrice(cId);
});
于 2012-07-10T07:14:00.283 回答
0

你可以尝试添加这个

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

在你的 for 循环中

于 2012-07-10T07:17:19.380 回答