3

ここに私のHTMLコードがあります:

<ul id="gallery">
    <li id="attachment-32" class="featured"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-34"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-38"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-64"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-75"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li></li>
</ul>

これが私のサンプル ajax リクエストです。

$.ajax({
    url: '/ajax/upload.php',
        type: 'POST',
    data: { ... },
        success: function(data){
        }
});

これが私が達成したいことです。

  1. ID属性が存在する場合にのみ、ギャラリーUL内のすべてのLIのID属性で添付番号を取得し、この方法でajaxデータを介して渡す方法:これ{ attached : '32,34,38,64,75' }を行うより良い方法がある場合は、私が渡したいことを知らせてください処理する添付ファイルを含むアイテムをリストします。空の LI アイテムを避けたいのですが、id 属性は含めません。

  2. 注目のクラスを持つリスト アイテム LI を取得する方法 (例: {featured_img : ..})。注目の LI が存在する場合は添付ファイル ID 番号を渡し、リスト アイテムのどれも注目されていない場合は、featured_img に 0 を渡します。だから私はそれを処理する方法を知っています。リクエストでphp経由。

どんな助けでも大歓迎です。

ありがとうございました。

4

2 に答える 2

4

There's an .map for that:

var ids = $("#gallery li").map(function () {
    return this.id.split("-")[1];
}).get().join(",");

...

$.ajax({
    url: '/ajax/upload.php',
    type: 'POST',
    data: { ids: ids },
    success: function(data) {

    }
});

Demo.

于 2012-06-01T10:40:02.647 に答える
0

これを試してみてください。

var val = new Array();
$('#gallery li').each(function(){
    val.push($(this).attr('id'));
});
document.write(val);

実装する例。

$.ajax({
    url: '/ajax/upload.php',
        type: 'POST',
    data: { attached : val },
        success: function(data){
        }
});

これがお役に立てば幸いです。

于 2012-06-01T10:49:54.873 に答える