簡體   English   中英

如何將復選框值(勾選或未勾選)放入 jquery/ajax 變量中?

[英]How can I get a checkbox value (ticked or unticked) into jquery / ajax variable?

我正在使用 ajax 將復選框保存到我的數據庫中,而無需重新加載頁面。 因此,當進行 ajax 調用時,我需要知道復選框的值(無論是勾選還是取消勾選)。 我已經嘗試了以下來自 SO 的代碼行來獲取復選框值,但它們似乎都不適合我:

tb_checkbox_id = jQuery('#tb-checkbox-id').val();  //always returns on
// tb_checkbox_id = jQuery('#tb-checkbox-id').prop('checked');  always returns false
//  tb_checkbox_id = jQuery('#tb-checkbox-id').is(':checked');  always returns false

正在選擇正確的 id,因為我可以更改 html 中的值,並使用上述代碼更改輸出(例如設置為 false 然后將輸出 false)。

這是我的其余代碼。 頁面上還有另一個復選框,但具有不同的 ID。

為什么它總是為勾選或未勾選返回相同的值? 我想不通。

function tb_checkbox ($db_table_name, $db_userid_column_name, $db_checkbox_column_name, $where_user_id, $checkbox_default)
{
/*------Echo checkbox form------*/
    echo '<form action="" method="post" id="checkbox_form">';
    echo '<input type="checkbox" class="tb-checkbox" id="tb-checkbox-id" name="tb_checkbox_practitioner_pages"'; 
    if ($checkbox_db_value == 1) //Display the checkbox as "checked" or not by reading checkbox_db_value which is the value from database. Is set to default value if no database value exists.
        { 
            echo ' checked';
        }
        echo '> <input type="submit"> </form>';
        echo "<p>Value at POST is: ";
        echo $_POST['tb_checkbox_practitioner_pages'];
    $user_id = bbp_get_current_user_id();
    ?>
    <script>
//  tb_checkbox_id = jQuery('#tb-checkbox-id').val();
//  tb_checkbox_id = jQuery('#tb-checkbox-id').prop('checked');
  tb_checkbox_id = jQuery('#tb-checkbox-id').is(':checked');
    js_user_id = '<?php echo $user_id;?>';
    jQuery('#checkbox_form').on('submit', function(e){
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "/wp-content/themes/buddyboss-theme-child/tb-checkbox-js-called.php",
            data: {userid: js_user_id},
            success: function() {
            alert("Success checkbox = " + tb_checkbox_id)          //('Post is' + $_POST['tb_checkbox_practitioner_pages']);
            }
        });
    });
    </script>
    <?php
}

好問題。

我會存儲一個布爾值 true 或 false(分別為 1 或 0)。

你會這樣檢查

tb_checkbox_id = document.getElementById("#tb-checkbox-id").checked;

這將存儲真或假(檢查或未檢查)。 然后我會將其存儲在數據庫中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM