我有一个小脚本,在更改时我得到一个select的ID,然后我想获取该ID并通过jQuery AJAX调用通过“data:”发送它。我正在使用XML作为我的数据而我正在发送此ID,因为它只返回具有该特定ID的结果?
我理解如何使用PHP执行此操作,但之前从未使用过XML和jQuery。
这是我的一段代码:
function populateDropDown(){
console.log("populateDropDown is called");
$(".user-selection").show();
$.ajax({
type: "GET",
url: "employee.xml",
dataType: "xml",
data: "access_info.level"+ type_id,
success: function(xml) {
console.log("success!");
var select = $('#select-user');
$(xml).find('employee').each(function(){
var fn = $(this).find('first_name').text();
var ln = $(this).find('last_name').text();
//var value = $(this).find('access_level').text();
select.append("<option class='ddindent' value='"+ fn +"'>"+fn +" "+ ln +"</option>");
});
select.children(":first").text("Please make a selection").attr("selected",true);
}
});
console.log("from popdrop"+type_id)
}
这是一个例子,我需要发送一个参数来仅返回X结果,在这种情况下它是我从下拉列表中获取的ID。
答案 0 :(得分:2)
在jQuery中使用AJAX调用,您可以完成以下任务:
$('#yourselect').change(function(){
$.ajax({
type: "GET",
url: "employee.xml",
dataType: "xml",
data: "id=" + $(this).val,
success: function(xml){
//code to handle the successful return from the server
//your existing handler should work here
}
});
});
但是,使用表单插件中的高级函数之一可能更容易通过AJAX提交表单。
更新: 好。现在我看到你的更新。我认为这可能仍有帮助。
答案 1 :(得分:0)
如果您对解析AJAX响应感兴趣,这里是jQuery的快速而脏的XML解析器示例块:
$(request.responseXML).find("marker").each(function() {
var marker = $(this);
var point = {
marker.attr("lat"),
marker.attr("lng")
};
});
答案 2 :(得分:0)
以下是我使用Google地图,Jquery和XML的一些代码。应该告诉你如何获取文件并解析它,以及执行任何新方法。
$(".map-overlay-left").click(function () {
var map = new GMap2(document.getElementById('map-holder'));
$("#map-holder").hide('slow');
var gmarkers = [];
var side_bar_html = "";
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var Africa = new GLatLng(-2.767478,23.730469);
map.setCenter(Africa, 4);
$.get("http://xx.xxx.xxxx.xxx/xml-feed-google-maps",{},function(xml) {
$('marker',xml).each(function(i) {
html = $(this).text();
lat = $(this).attr("lat");
lng = $(this).attr("lng");
label = $(this).attr("label");
var point = new GLatLng(lat,lng);
var marker = createMarker(point,label,html);
map.addOverlay(marker);
});
});
$("#map-holder").show('slow');
});
XML文件如下所示:
<markers>
<marker lat="11.547812" lng="104.915957" label="foo">
<infowindow><![CDATA[><div class="infobox"><h2><a href="link">Anchor Text</a></h2><p>HTML Content</p></div>]]></infowindow>
</marker>
<marker lat="11.547812" lng="104.915957" label="foo">
<infowindow><![CDATA[><div class="infobox"><h2><a href="link">Anchor Text</a></h2><p>HTML Content</p></div>]]></infowindow>
</marker>
<marker lat="11.547812" lng="104.915957" label="foo">
<infowindow><![CDATA[><div class="infobox"><h2><a href="link">Anchor Text</a></h2><p>HTML Content</p></div>]]></infowindow>
</marker>
<markers>