从jquery中的切换图像返回一个值数组

时间:2013-05-14 13:03:33

标签: jquery ajax post toggle

我正在使用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")

}

最终传递给manufactuer变量的值只是逗号分隔的值列表,例如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'));
            }
        });

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

干杯 格雷厄姆

1 个答案:

答案 0 :(得分: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/