2014-02-05 73 views
0

我已圓滿使用這樣jQuery的打破一個onclick功能

<a href="javascript:void()" onclick="document.booking.submit()" class="buttonavail"></a> 

一段時間一個提交按鈕。該類定義了按鈕的位置及其外觀。

現在我已經添加了一個Jquery腳本到頁面,並且該按鈕不再起作用。該腳本是

$(document).ready(function() { 
    $("#tabcontent > div").hide(); // Initially hide all content 
    $("#tabs li:first").attr("id","current"); // Activate first tab 
    $("#tabcontent div:first").fadeIn(); // Show first tab content 

    $('#tabs a').click(function(e) { 
     e.preventDefault(); 
     if ($(this).closest("li").attr("id") == "current"){ //detection for current tab 
     return  
     } 
     else{    
     $("#tabcontent > div").hide(); //Hide all content 
     $("#tabs li").attr("id",""); //Reset id's 
     $(this).parent().attr("id","current"); // Activate this 
     $('#' + $(this).attr('name')).fadeIn(); // Show content for current tab 
     } 
    }); 
$('#prices').load('../prices.php?hid=<?php echo $hid;?>'); 
}); 

大概這是有關「javascript:void()」在href,但我看不出爲什麼。是否有另外一種方法來編寫href以使兩者協同工作?

部分解決方案 問題並不是我以爲是這樣。最後我發現父頁面和Jquery加載的頁面都包含一個同名的頁面。重新命名其中一種形式解決了問題的一部分。

但是現在,我發現另一個問題似乎是兩個Jquery之間的衝突。我已經問了另一個問題,在Jquery - Scripts are conflicting

+0

ancor標記中沒有任何文本 – suhailvs

+0

你在哪裏放置此javascript代碼? –

+0

您是否嘗試過擺脫虛空聲明以查看會發生什麼? – Andy

回答

0

$('#tabs a').click是你的問題。您正在使用此代碼覆蓋<a>標記的點擊事件。如下

$('#tabs a:not(.buttonavail)').click

+0

這不是「$('#tabs a'),點擊」導致它。我有問題的「a href」不在「tabs」div內。但是,您已經設定了我思考不同的路線,並嘗試逐行刪除腳本的各個位。完成這種方式我已經將問題隔離到「$('#prices).load」這一行,儘管我完全不知道爲什麼。 任何進一步的想法將不勝感激。與此同時,我將繼續擺弄,試圖找到它的底部。 – TrapezeArtist

+0

錨定的按鈕是不是你正在重新加載的任何機會是嗎?如果您要替換''標記 - 即使標記相同,也會失去參考並可能破壞點擊事件 – Askanison4

+0

不,它們位於頁面的完全不同的部分。但是,我發現通過將不同的文件名替換爲prices.php,一切正常。所以我得出結論,price.php中有一些導致問題的東西。我現在正在努力解決這個問題,試圖找到衝突。 – TrapezeArtist

1

更改功能:

您可以更新jQuery代碼到這一點。添加提交在功能的最後一行,如我所示

$('#tabs a').click(function(e) { 
     e.preventDefault(); 
     if ($(this).closest("li").attr("id") == "current"){ //detection for current tab 
     return  
     } 
     else{    
     $("#tabcontent > div").hide(); //Hide all content 
     $("#tabs li").attr("id",""); //Reset id's 
     $(this).parent().attr("id","current"); // Activate this 
     $('#' + $(this).attr('name')).fadeIn(); // Show content for current tab 
     } 
     $(this).submit() **// ADD HERE** 
    }); 
+1

是的,這實際上可能比我的答案更好 - 我沒有意識到OP希望雙方一起工作。 +1 – Askanison4