如何在Jquery中动态选择循环生成的多个id并将它们传递给AJAX?

Ok , I am trying to get different id values through Jquery , and pass them to Jquery AJAX that will hit a PHP file so I can get some data back .... I'm not sure how to get all the multiple different ids because Jquery is only getting the first id of many of the unique id values generated by the while loop .. and I would like each unique ID to also be passed to the AJAX function in Jquery .. Your help would be so much appreciated . I'm still new to the Jquery world

<?php
require('../database/connection.php');
?>
        <script type="text/javascript">
          jQuery(document).ready(function() {
           var ID = $('div#opposition img').attr("id"); alert(ID);
           $.ajax({
            type:'GET',
            url :'get_users_images.php',
            data:'screen_name='+ ID,
            success: function(result){
             $('div#opposition img').attr('src', result);
           }
         });

         });

    </script>


    <?php
    $select2  = "SELECT * FROM AUTHORS WHERE ID <> $id";   
    $result2 = mysql_query($select2);
    $result_count = mysql_num_rows($result2);
    echo '<div id ="opposition">';
    while ($row2 = mysql_fetch_array($result2, MYSQL_ASSOC)) { 

    echo "<img id ='".$row2['Twitter']."' src='images/ajax-loader.gif' class ='image".$row2['Twitter']."'/>"; //  echos different ids, 
    }
     ?>
    </div>
dongshanya2008
dongshanya2008 你从ajax返回获得一组图像吗?您可以在firefox或chrome调试中使用Network标签进行检查。
7 年多之前 回复

2个回答



你可以像这样发送一个字符串化</ em> id的数组 - </ p>

  jQuery(document).ready(function(){
var ID = $('div#opposition img')。map(function(){
return this.id;
})。get( );

$ .ajax({
type:'GET',
url:'get_users_images.php',
data:{screen_name:JSON.stringify(ID)},
success:function( 结果){
$('div#opposition img')。attr('src',result);
}
});
});
</ code> </ pre>
< / DIV>

展开原文

原文

You can send an stringified array of id's like this -

jQuery(document).ready(function () {
    var ID = $('div#opposition img').map(function(){
       return this.id;
    }).get();

    $.ajax({
        type: 'GET',
        url: 'get_users_images.php',
        data: { screen_name : JSON.stringify(ID)},
        success: function (result) {
            $('div#opposition img').attr('src', result);
        }
    });
});

dqx24298
dqx24298 你知道吗...我在想这是推特的方式..你能告诉我如何将这些IDS中的每一个传递给AJAX而不是将它们放入数组中吗? 我非常感激。
7 年多之前 回复
dongtangyi8962
dongtangyi8962 那么你最终将得到多个http请求等于Id的数量,这看起来效率很低,而你可以发送所有id并处理函数中的每个id可能在内部循环(虽然不太了解php)
7 年多之前 回复
duanlan3598
duanlan3598 有没有办法可以将它们中的每一个传递给AJAX而不是将它们全部放入字符串? 因为每个ID都由PHP API中的Twitter API服务处理..会更快吗?
7 年多之前 回复



如果我是正确的,实际上,为什么要将 php </ code>返回的图像集放在一个\中 n img </ code>标签, $('div#opposition img')。attr('src',result); </ code>。 相反,我认为你必须做一些像 $('div#oppositions')。innerHTML(result)</ code>。</ p>
</ div>

展开原文

原文

If I am correct, Actually , why you are placing the set of images returned by php in one img tag, $('div#opposition img').attr('src', result); . Rather I think you must do something like $('div#opposition').innerHTML(result) .

立即提问
相关内容推荐