2011-02-28 69 views
1

我有這個工作規範,直到規格改變。這個函數現在通過ajax .load引入。易足以把它和我有一個在父頁面除了工作帶來了網頁上的所有我的其他功能,這一個:帶電功能的問題

$("#CME").hide(); 
    $(function() { 
     $("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").live("change", function(){ 
      var checkBoxes = $("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").filter(":not(:checked)"); 
      if(checkBoxes.length == 0){ 
       $("#CME").slideDown("fast"); 
       } else { 
       $("#CME").slideUp("fast"); 
       } 
    }); 
}); 

股利「#CME」不是隱藏和.live( 'change',function(){is not working。我有其他類似的.live函數,它們的工作原理和結構都是一樣的。我如何將最初的$(function()和.live綁定,爲什麼不是.hide ()工作?

這裏,在這個內容

$(function() { 
     $("#subscribe").click(function() { 
      $("#singleContent").load('purchaseForm.php #formContent', function() 
      { 
       $('[class^=toggle-item]').hide(); 
       $('[class^=link]').click(function(e) { 
        $('.toggle-item-' + this.className).slideToggle("fast"); 
        $('span',this).text(function(i,txt) { 
         return txt === "Learn More..." ? "Close" : "Learn More..."; 
         e.preventDefault(); 
        }); 
       });//toggle 

       $(function() { 
        var $add = $('input.add'); 
        $add.click(function() { 
         $add.removeAttr('checked'); 
         $(this).attr('checked', true); 
        });//$add 
       });//function 
      });//load 
     });//#subscribe 

我想我可能帶來的代碼只是回答我自己的問題

編輯 - 我得到它通過結合它的工作(將其放置在)到.load功能

+3

+1,'我有這個規範,直到規格改變讓我微笑。 – 2011-02-28 15:22:18

+0

你能顯示通過ajax引入此代碼的代碼嗎?另外,請在這裏嘗試一下'console.log($(「#CME」))'並查看它記錄的內容。 – 2011-02-28 15:22:45

+0

@馬丁,是啊,這不是典型的! – 2011-02-28 15:26:40

回答

3

$("#CME").hide();沒有工作,因爲它可能正在運行之前DOM已準備就緒。嘗試將其放置在$(function() {});區塊內。

.live()不需要在$(function() {});塊內。 live將綁定一個事件,只要它出現在DOM中,即使它在調用時不存在。

確保您的功能已關閉。代碼末尾似乎缺少});

+0

我沒有粘貼,thx提醒我! – 2011-02-28 15:30:45