gpt4 book ai didi

用于查询 XML 的 jQuery 选择器

转载 作者:行者123 更新时间:2023-12-01 08:04:40 25 4
gpt4 key购买 nike

我知道我的选择器值和 xml 变量没有连接,但我不太清楚如何连接它们。我知道 xml 正在通过,但我需要将其链接到选择值后显示的内容。这是我所拥有的:

新代码

<script src="js/xmlDom.js"></script>

<script type="text/javascript">
var cityID;
var city;
var amt;


$(document).ready(function() {


$.ajax({
type: "GET",
url: "data/precipData.xml",
dataType: "xml",
success: makeItRain
});

});

function makeItRain(xml) {
console.log($.xmlDOM(xml));
$.xmlDOM(xml).find("Row").each(function () {
cityID = $(this).attr("id");
city = $(this).find("city").text();
amt = $(this).find("amt").text();
$('<option>' + city + '</option>').appendTo('.selectCity');
console.log('appending');

$(".selectCity").change(function () {

$('select option:selected', this).append(cityID);
$(".name").append(city);
console.log('city');
$(".ammount").append(amt);
console.log('amt');

});
//.change();


});
};

</script>
</head>

<body>

<select class="selectCity">
<option id="default">Select a city</option>

</select>
<div class="name">

</div>
<div class="ammount">

</div>
</body>

旧代码

<script type="text/javascript">
var cityID;
var city;
var amt;


$(document).ready(function() {


$.ajax({
type: "GET",
url: "data/precipData.xml",
dataType: "xml",
success: makeItRain
});
});


function makeItRain(xml) {

$(xml).find("Row").each(function(){

cityID = $(this).attr("id");
city = $(this).find("city").text();
amt = $(this).find("amt").text();

$('<option>' + city + '</option>').appendTo('.selectCity');
console.log('appending');

$(".selectCity").change(function() {

$('select option:selected', this).append(cityID);
$(".name").append(city);
console.log('city');
$(".ammount").append(amt);
console.log('amt');

});
//.change();


});
};
</script>
</head>

<body>

<select class="selectCity">
<option id="default">Select a city</option>

</select>
<div class="name">

</div>
<div class="ammount">

</div>

最佳答案

你的逻辑是正确的,ajax调用(和回调)已经到位。唯一的问题是,我们的伙伴 jQuery 只与 HTML 为友(我们也是),而从来不想与 XML 为友,因为当 HTML 没人的时候,xQuery 从来不关心 HTML,独自哭泣(John Resig 是真正的超人)

OMGOMG 没有 XML 查询!

幸运的是,这不是一个大问题,世界各地的人道主义者已经编写了令人惊叹的库和插件来解决这个问题,我可以告诉你的是:

<强> xmlDOM 这是一个 jQuery 插件,它使难以捉摸的 XML 查询梦想成真。

好消息

如果我们使用 xmlDOM 您的代码不必更改太多,以下是您的新代码:

function makeItRain(xml) {
console.log($.xmlDOM(xml));
$.xmlDOM(xml).find("Row").each(function () {
cityID = $(this).attr("id");
city = $(this).find("city").text();
amt = $(this).find("amt").text();
$('<option>' + city + '</option>').appendTo('.selectCity');
console.log('appending');

$(".selectCity").change(function () {

$('select option:selected', this).append(cityID);
$(".name").append(city);
console.log('city');
$(".ammount").append(amt);
console.log('amt');

});
//.change();
});
};

演示

http://jsfiddle.net/aTxYc/1/

关于用于查询 XML 的 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17497766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com