2011-07-21 56 views
0

我知道這是一種cludgey,但是我非常接近我必須發佈的解決方案。強制不可見的文本字段的值爲「0」或「」

我有一個窗體有兩個複選框,可以切換是否顯示相關的跨度。 num_bw和num_c是包含輸入框的跨度,其中用戶放置用戶想要的兩種類型的產品中的多少種。不過,我擔心用戶可能會將一個數字放入暫時可見的文本字段中(比如第一個,在num_bw範圍內),但是會改變主意並取消選中該複選框並將數字放入框中在num_c範圍內。

此代碼的工作方式,num_bw字段現在將不可見 - 但它可能仍然包含一個數字如果他點擊提交,用戶可能會驚訝地發現他不再需要的3件黑色產品仍在他的購物車中! Woops!

所以我需要檢查這兩個文本字段中的任何一個(它們的名字是orderquantitybw和orderquantityc,如果需要,我也可以添加ID)是否在一個現在不可見的範圍內(#num_bw和#num_c),如果它們是,把它們的價值變成零,零,zilch,「」,任何不會混淆購物車軟件(這不是我的部門,它是如何工作對我來說是一個不透明)。

這是在頭頂上,它只是使這些跨度在一開始看不見:

$(document).ready(function() { 
    $('#num_bw').hide(); 
    $('#num_c').hide(); 
    }); 

這是有問題的形式之後,它使跨越可見或不可見時,用戶點擊複選框:

$('#show_c').click(function(){ 
$('#num_c').toggle(); 
}); 
$('#show_bw').click(function(){ 
$('#num_bw').toggle(); 
}); 

我想添加一個函數到最後。我停下來寫了它。任何幫助?

$('#submit_btn').click(function(){ 

    /*Insert script to turn form box's values to "0" if 
    they are in an invisible span*/ 

    )}; 

回答

0

試試這個

$('#submit_btn').click(function(){ 

    $("#num_bw, #num_c").each(function(){ 
     if(!$(this).is("visible")){ 
     $(this).find("input").val("0") 
     } 
    }); 

)}; 
+0

嗯文本框。我在想。不應該是如果(!$(this).is(「不可見」)){改爲? – Baz

+0

你的評論說/ *如果 他們是在一個不可見的跨度* /如果(!$(this).is(「可見」))將檢查是不是跨度,插入腳本將形式框的值轉換爲「0」可見。 – ShankarSangoli

+0

,這讓我有點心不在焉。我有很多東西要學,但我相信你是對的。謝謝。 – Baz

0
$('#submit_btn').click(function(){ 
    $("#num_bw, #num_c").filter(':hidden').find('input').val('0'); 
}); 
0
$("#num_bw:hidden").val(0) 
$("#num_c:hidden").val(0) 

應該這樣做。或者你可以做這樣的事情:

$(".quantityTextBox:hidden").val(0) 

與類「quantityTextBox」