簡體   English   中英

jQuery .ajax()POST僅復選框:選中

[英]jQuery .ajax() POST Only checkboxes :checked

嘗試傳遞復選框時,我的.ajax()函數出現錯誤

這是代碼:

if(typeof($post) !== 'undefined'){
    var $fname = $($post).attr('name').toString();
    var data = {$fname : []};
    alert($post);
    alert($fname);
    $($post + ":checked").each(function() {
        data[$fname].push($(this).val());
    });
}else{
    var data = null;    
}

我在螢火蟲中遇到的錯誤是: data[$fname].push($(this).val()); is undefined data[$fname].push($(this).val()); is undefined

$post只是傳遞給函數的類名。在這種情況下,它.del-checked

警報成功地向我警報了類名和復選框名...在這種情況下,它是del[]

我如何使它工作以便將其傳遞給$.ajaxdata選項?

因為在創建新對象時不能將變量用作鍵

var data = {$fname : []};

和做一樣

var data = {"$fname" : []};

您需要創建對象並在方括號中添加密鑰

var data = {};
data[$fname] = [];

除非使用方括號符號, 否則不能將變量用作鍵

if (typeof($post) !== 'undefined'){

    var $fname = $($post).attr('name');
    var data = {};

    data[$fname] = [];

    $($post).filter(":checked").each(function() {
        data[$fname].push( this.value );
    });

}else{

    var data = null;    

}

關於什么:

var data = $($fname).serialize();

暫無
暫無

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

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