0

我想知道如何修复我的脚本,我希望在您单击按钮时发出警报,但它会跟上同一页面上 xml 发生的变化。当然,当我单击按钮时,我认为这个脚本会起作用,但什么也没有发生。我想我会看看我是否可以从更有经验的人那里得到任何意见。

$(document).ready(function(){

function get_info() {
    $.ajax({
        type: "GET",
        url: "xmldata/product.xml",
        dataType: "xml",
        cache: false,
        complete: function(doc) {
            var product = $(doc.responseText).find("product").text() == 1;
            var name = product.next().children("name").text();
            var cost = product.next().children("cost").text();
            $("#xmlalert").click(function(){
                                alert(cost);
            })
        }
    });

}
setInterval(function() {
    get_info();
}, 5000);
});

xml数据如图:

<?xml version="1.0" encoding="utf-8"?>
<store>
   <product>1</product>
    <info>
        <name>Toy</name>
        <cost>1196</cost>
    </info>
</store>
4

1 回答 1

0

html代码

<button class="button" id="1">One</button>
<button class="button" id="2">Two</button>

更改您的 javascript 代码,例如:

$(document).ready(function(){
      function get_info() {
        $.ajax({
            type: "GET",
            url: "xmldata/product.xml",
            dataType: "xml",
            cache: false,
            complete: function(doc) {
            $(".button").click(function(event){
                console.log($(this).attr('id'));
                var product = $(doc.responseText).find("product").eq($(this).attr('id')-1);
                var currentIndex=0;
                product.each(function(index){
                    var name = $(this).next().children("name").text();
                    var cost = $(this).next().children("cost").text();
                    alert(cost);    
                });
            });
        }
        });

        }
        setInterval(function() {
            get_info();
        }, 2000);
});

XML 是

<?xml version="1.0" encoding="utf-8"?>
<store>
   <product>1</product>
    <info>
        <name>Toy</name>
        <cost>1196</cost>
    </info>
    <product>2</product>
    <info>
        <name>Toy 2</name>
        <cost>11962</cost>
    </info>

</store>
于 2013-02-07T12:19:29.040 回答