2010-09-27 136 views
0

我有這個jQuery代碼,並且想要切換它。當我使用使用.toggle()jquery

$('#checkb').toggle(function() }); 

它不切換

$('#checkb').bind('click',function() { 
    var PackagePrice = $('#specs_packageprice').text(); 
    var Quantity = $('#specs_quantity').text(); 
    var ItemPrice = $('#specs_itempr').text(); 
    var Unit = $('#specs_unit').text();  
    var calc = Unit*ItemPrice; 

    $('#final_value').text(calc);        
}); 

出了什麼問題?

感謝 讓

+0

如果您將代碼顯示爲如何使用它,那麼這將有所幫助....或者您是如何確實嘗試使用它的第一行代碼? .toggle()需要兩個參數,其中您通常會將回調函數調用傳遞給兩個參數,每個參數對應一個「切換狀態」。您列出的所有內容都有一個參數,調用一個空的匿名函數。 – 2010-09-27 14:07:05

+0

你的代碼看起來像缺少塊 - 'toggle'行有一個空的'}'。 – RickF 2010-09-27 14:10:29

回答

3
$('#checkb').toggle(function() { // Every even click 
    var PackagePrice = $('#specs_packageprice').text(); 
    var Quantity = $('#specs_quantity').text(); 
    var ItemPrice = $('#specs_itempr').text(); 
    var Unit = $('#specs_unit').text();  
    var calc = Unit*ItemPrice; 
    $('#final_value').text(calc);        
}, 
function() { // Every odd click 
    // Do something here 
}); 

編輯: 的toogle似乎與複選框搞亂。您可以嘗試

$('#checkb').click(function() { 
    if ($(this).attr("checked")) { 
    //do stuff if the checkbox is checked 
    } else { 
    //do stuff if the checkbox isn't checked 
    } 

);

+0

這裏#checkb是複選框的ID。它工作正常,但複選框沒有得到檢查 – X10nD 2010-09-27 14:22:54

1

建立一個函數來處理這個像這樣:

function calc_on_click(){ 
    var PackagePrice = $('#specs_packageprice').text(); 
    var Quantity = $('#specs_quantity').text(); 

    var ItemPrice = $('#specs_itempr').text(); 
    var Unit = $('#specs_unit').text();  
    var calc = Unit*ItemPrice; 

    $('#final_value').text(calc); 

    return false; 
} 

然後,只需點擊元素綁定到你的總和按鈕!

$("#checkb").click(calc_on_click); 
//Or if its explicitly a toggle needed: 
$("#checkb").toggle(calc_on_click,calc_on_click); //On/Off 

然後,該功能應該做你需要它做的事情。