0

我正在使用 jquery 帖子返回一个 xml 数据集。我最初使用下拉表单控件来过滤返回的数据。

现在我希望能够显示制造商图标列表,然后让用户单击这些图标来打开和关闭它们。

$('#sho').click(function() {
    $(this).toggleClass('highlight');
    if ($(this).hasClass('highlight')){
            $(this).attr('alt','sho');
            alert(manufac);
    } else {
            $(this).attr('alt','');
    }});

目前我有切换代码,这样当点击图像时,它就会在它周围出现一个框。我还在为 ALT 属性设置一个值。我希望能够收集所有具有值的 alt 属性并将它们传递给我的 jquery 帖子。

function loadXML(so) {
<!-- Clothing Version -->
timestamp = Math.round(new Date().getTime() / 1000);

$("#wrapper").html('<div id="load"><img src="http://static.phmotorcyclescom.dev/images/loading.gif" alt="loading" align="center"  /></div>');
$("#results").empty();
$.post("http://www.phmotorcycles.current/supportScripts/clothingXML.asp",{  
    productGroup: "hel",  
    sortOrder: so,
    qt: "group",
    ts: timestamp,
    manufacturer:$("input:checkbox[name='man[]']:checked").map(function() {
        return $(this).val();
    }).get()}, <----- I need to replace this section of code
    function(xml) {
        convertXML(xml);
        $("#wrapper").empty();
        $('#results').html("Your Product was not found");
    },"xml")

}

最终,传递给制造商变量的值只是一个逗号分隔的值列表,例如 ara,sho,sha,ara

请问有人对此有什么想法吗。我尝试使用 .each() 方法并设法让它提醒所有正值,但我无法将它们连接成一个字符串。

$('img').each(function(){
            var id = $(this).attr("id");
            var altVal = $(this).attr("alt");
            if (altVal != '') {
                alert($('img#' + id).attr('alt'));
            }
        });

一如既往的帮助非常感谢。

干杯格雷厄姆

4

1 回答 1

1

尝试这个..

manufacturer : function() {
    var ar= new Array();
     $("img.highlight").each(function(){
     ar.push($(this).attr("alt"));
    });
   return ar.join(",");
}

jsFiddle 展示 push 和 join 的用法

http://jsfiddle.net/jCdpf/

于 2013-05-14T14:30:03.423 回答