正在将具有属性的XML文件加载到JQuery数组中...数组为空

时间:2019-05-03 00:20:00

标签: jquery arrays xml

我希望这是一个相当简单的解决方案,但是花了我整天的时间才能走到这一步,而且我很难弄清问题所在。

我有一个名为JobTagsList.xml的XML文件:

<Tags><Tag Tag="consolidated"/><Tag Tag="test"/></Tags>

以及带有以下JQuery代码(包括所有脚本,以防万一)的ASP.NET Webforms页面:

    <script src="../Scripts/jquery-ui-1.12.1.min.js"></script>
    <script src="../Scripts/tag-it.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            var isrecurring = $("#<%=IsRecurringJob.ClientID %>").prop('checked');
//            console.log(isrecurring);
            if (isrecurring) {
                $(".showwhenrecurring").show();
            } else {
                $(".showwhenrecurring").hide();
            }

            var jobid = $("#<%=JobID.ClientID %>");
            if (jobid.val() != null && jobid.val() != '') {
            } else {
                $(".hidewhennew").hide();
            }


        });

        //tags handling starts here
        function split(val) {
            return val.split(/,\s*/);
        }
        function extractLast(term) {
            return split(term).pop();
        }

        $(function () {
            var tagslist = new Array();
            $.ajax({
                type: "GET",
                url: "../XML/JobTagsList.xml",
                dataType: "xml",
                success: function (xml) {

                    //but if it's multible items then loop
                    $(xml).find('Tag').each(function () {
                        tagslist.push($(this).attr('Tag'));
                    });
                }
            });

            $("#<% =txtTags.ClientID %>")
                .on("keydown", function (event) {
                    if (event.keyCode === $.ui.keyCode.TAB &&
                        $(this).autocomplete("instance").menu.active) {
                        event.preventDefault();
                    }
                });

            $("#<% =txtTags.ClientID %>").tagit({
                availableTags: tagslist,
                // This will make Tag-it submit a single form value, as a comma-delimited field.
                singleField: true,
                singleFieldNode: $("#<% =txtTags.ClientID %>")
            });

        });

        function fixform() {
            if (opener.document.getElementById("PageForm").target != "_blank") return;
            opener.document.getElementById("PageForm").target = "";
            opener.document.getElementById("PageForm").action = opener.location.href;
        }
    </script>

代码编译没有错误,但是根据Chrome调试器,当它应该有两个项目时[tag]数组为空(['test','consolidated'])。请帮忙。 :)

0 个答案:

没有答案