与不同脚本冲突的jquery

时间:2013-08-06 19:39:11

标签: jquery

我有两个不同的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>

这是什么问题?提前谢谢。

我想要的是建议的字段框,以及单击时禁用建议的字段框的复选框。我以前做过两次,所以我想我可以简单地使用它们......但是唉。

2 个答案:

答案 0 :(得分:1)

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

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

而不是

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

.attr()函数总是为您提供最初设置的属性。你正在寻找的是.prop()。这将为您提供复选框的当前值。

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

答案 1 :(得分:-1)

首先,尝试使用最新版本的jQuery,因此不再使用1.4.2。您可能想要解决问题。

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