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

}

最終的に、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'));
            }
        });

いつものように、助けていただければ幸いです。

乾杯グラハム

4

1 に答える 1

1

これを試して..

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

push と join の使用法を示す jsFiddle

http://jsfiddle.net/jCdpf/

于 2013-05-14T14:30:03.423 に答える