2014-02-05 72 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