2

我有两个不同的 jquery 脚本,它们都可以单独工作,但是当我尝试在同一页面上组合时,它们会中断。我注意到他们调用了不同版本的 jquery,但如果我尝试使用其中一个,它会破坏其中一个功能。有人帮我知道为什么吗?

第一个脚本:

<head>
<link rel="stylesheet"href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script src="ajax.js"language="javascript"type="text/javascript"></script>
<script>
  $(function() {
    var availableTags = [
    "Abel Law Offices",
    "Abigail Rivamonte, Attorney at Law",
    "Abrams & Heyn"
    ];
    $( "#tags").autocomplete({
      source: availableTags
    });
  });
 </script>
</head>

<body>
<input type="text" id="tags" name="tags" >
</body>
</html>

第二个脚本:

<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
            $(document).ready(function () {
                $("#checkbox_1").change(function () {
                    $("#tags").attr("disabled", $(this).attr("checked"));
                });
            });
</script>

这里有什么问题?先感谢您。

我想要的是一个建议的字段框,以及一个在单击时禁用建议的字段框的复选框。我以前都自己做过,所以我想我可以简单地同时使用这两个……但是,唉。

4

2 回答 2

1

使用 jQuery 1.9 或最新分支并尝试此行:

$("#tags").attr("disabled", $(this).prop("checked"));

代替

$("#tags").attr("disabled", $(this).attr("checked"));

.attr() 函数始终为您提供最初设置的属性。这是 .prop() 您正在寻找的东西。这为您提供了复选框的当前值。

不要同时包含两个不同版本的 jQuery。

于 2013-08-06T19:43:09.657 回答
-1

首先,尝试使用最新版本的jQuery,所以杜绝使用1.4.2。您可能想要解决这些问题。

如果这不起作用,请尝试使用jQuery.noConflict().

于 2013-08-06T19:40:39.733 回答