2013-08-06 131 views
1

我有兩個不同的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> 

問題是什麼嗎?先謝謝你。

我想要的是一個建議的字段框和一個複選框,單擊時禁用建議的字段框。以前我都是自己做的,所以我覺得我可以簡單地使用兩者......但是,唉。

+1

爲什麼包括jQuery,兩次?第二個片段中的所有使用的方法也存在於最新的jQuery版本中。 – Armin

+0

當我拿出舊版本的jquery時,禁用功能停止工作。 – user1789437

回答

1

使用jQuery 1.9或最新分支,並嘗試這一行:的

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

代替

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

的.attr()函數總是給你原來設定的屬性。它是.prop()你在找什麼。這會爲您提供複選框的當前值。

不要同時包含兩個不同版本的jQuery。

+0

不知道爲什麼downvoted,它工作如你所說!!!! – user1789437

+0

很好用 - 曾經有同樣的問題。如果有效,請不要忘記接受答案:-)謝謝! –

+0

非常感謝! – user1789437

-1

首先,嘗試使用最新版本的jQuery,因此消除了1.4.2的使用。您可能想要解決這些問題。

如果這樣不起作用,請嘗試使用jQuery.noConflict()

+0

我試過只使用新版本,它打破了第二個腳本,反之亦然。 – user1789437

+0

我該如何實現jQuery.noConflict() – user1789437

+0

@ user1789437 http://api.jquery.com/jQuery.noConflict/ –