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 attr 存在时,如何获取库 UL 中每个 LI 的 ID 属性中的附件号,并以这种方式通过 ajax 数据传递它们:{ attached : '32,34,38,64,75' }如果有更好的方法,请告诉我我想传递列出包含要处理的附件的项目。我想避免 LI 项目是空的,不包括 id attr。

  2. 如何获取具有特征类的列表项 LI,例如 { features_img : .. } 并传递附件 ID 号,如果特征 LI 存在,并且如果没有列表项具有特征,则传递 features_img 为 0。所以我知道如何处理它通过请求中的php。

任何帮助表示赞赏。

谢谢你。

4

2 回答 2

4

有一个.map

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) {

    }
});

演示。

于 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 回答