我正在使用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'));
}
});
一如既往,非常感谢帮助。
干杯 格雷厄姆
答案 0 :(得分:1)
试试这个..
manufacturer : function() {
var ar= new Array();
$("img.highlight").each(function(){
ar.push($(this).attr("alt"));
});
return ar.join(",");
}
jsFiddle显示push和join的使用