3

这是代码:这是我从 XML 中获取数据(这有效,已经在没有 jQuery 的情况下对其进行了测试):

 <script>
        $(document).ready(function(){
            var select = $('#mySelect');

            $.ajax({
                type: "GET",
                url: "http://mobile.qmschrysant.nl/keuzemenu/keuzemenu.xml",
                dataType: "xml",
                success: function(xml) {
                $(xml).find('menuitem').each(function(){
                    var title = $(this).find('title').text();
                    select.append("<option/><option class='ddheader'>"+title+"</option>");
                        $(this).find('value').each(function(){
                        var value = $(this).text();
                        select.append("<option class='ddindent' value='"+ value +"'>"+value+"</option>");

                        });
                    });
                    select.children(":first").text("please make a selection").attr("selected",true);
                    select.trigger('updatelayout');
                }
            });
        });
     </script>

这是我的选择选项(HTML):

<label for="selectmenu" class="select">Kies planning:</label>
          <form>
            <select id="mySelect" >

                <option>loading</option>
            </select>
          </form>

现在奇怪的是,当我包含这个 jQuery 脚本时:

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

然后下拉列表看起来很棒,但不包含任何信息。
当我注释掉该行时,下拉列表看起来很正常,但现在它确实包含信息(所以这是证明,它确实有效)。

但是为什么当我包含 jQuery 行时它不起作用?我找不到问题。

(请参见图片以获得更好的解释) 在此处输入图像描述

编辑:所有包括我使用的:

<link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css">
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
4

3 回答 3

1

你有两倍的 jquery 导入:

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

删除最旧的(第二行)。

或者,更好的是,将两行都替换为:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

(在包含 jquery mobile 之前)

所以 :

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css">
<script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
于 2012-06-12T08:06:16.500 回答
1

OP“使用了最新的 jquery mobile.js,现在一切正常”。

这似乎是一个兼容性问题。

改变:

<script src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
<link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css">

到:

<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js" type="text/javascript"></script>
<link href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" rel="stylesheet" type="text/css">
于 2012-06-12T08:46:53.283 回答
0

这对我来说没有意义:(

第一个脚本需要 jQuery 才能工作,所以你已经包含了 jQuery。

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

行不会改变下拉列表的外观。

于 2012-06-12T07:55:56.700 回答