2010-06-29 65 views
0

我的jQuery/PHP應用程序中有AJAX調用。它需要發送一些數據到PHP腳本來處理(我有這部分工作正常)。傳遞是否通過jQuery檢查複選框到PHP

我的jQuery的變量:

var form_data = { 
    urltitle: '<?php echo $urltitle; ?>', 
    subscribe: $('#subscribe').val(), 
    comment: $('#commentbox').val() 
}; 

這工作得很好,PHP腳本讀取所有變量的值 - 除「訂閱」變量。訂閱是一個複選框,像這樣:

<input type="checkbox" name="subscribe" checked="checked" value="subscribe" id="subscribe"/> 

我怎樣才能在複選框的「價值」傳遞給我的PHP腳本?我有這個腳本的非AJAX版本太多,這幾乎是相同的,除了在PHP端使用:

if (isset($_POST['subscribe'])) { /* do something */ } 

而且工作正常...

謝謝!

傑克

+0

可能重複[jQuery的 - 檢查是否複選框被選中(http://stackoverflow.com/questions/2204250/jquery-check-if-checkbox-is-checked) – R0MANARMY 2010-06-29 14:49:09

回答

0

當你說值,你的意思是訂閱還是你只是想知道,如果複選框已被選中或不。

如果你只是想知道它是否已被檢查,那麼你可以做$('#subscribe:checked').val(),如果它是空的,那麼你知道它沒有被檢查,如果它不是,那麼你應該有你的情況下訂閱價值。

+0

如果是認購然後取消選中.val()將會是「undefined」不是嗎? 它就像在一個零長度的jQuery結果上調用.val()。 – 2010-06-29 14:45:33

+0

乾杯達倫,這個伎倆。着名的書呆子,我意識到如果未選中它將是未定義的,但我的PHP只讀取if(isset($ _ POST ['subscribe'])){做某事}其他{做其他事情}。所以它不需要檢查它是否'未定義'。但是,謝謝你:) – Jack 2010-06-29 14:50:39

+0

@ R0MANARMY,其實是的。因爲@Famous Nerd在評論@ darren102回答誰說'$('#subscribe:checked')。val()'會返回null ..它會返回undefined(*注意他要求的值是檢查#subscribe ..所以,如果它沒有被選中,它將返回沒有jquery對象.. *) – 2010-06-29 14:51:04

1

​​應該工作