使用.push .text将javascript数组清空

时间:2013-09-22 20:10:27

标签: javascript arrays

我遇到的代码问题是我之前提出的SO问题的一个例子 - 它的工作量大约是95%,但是为什么命令数组看起来很空?

HTML:

<input class="order" value="<?php echo $order; ?>" type="text"  />

JS:

$('body').on("click", "#brands_by_category_submit_btn", function (e) {
         e.preventDefault();               
        var self       = $(this);
        var order      =  []; 
        var id         = $("#manID").data("id");
        var brand_name = $("#brand_name").data("id");
        var data       = grabData(true);

        $(".order").each(function(){
            order.push($(this).text());
        })

        if(data.length)
        {
            var data_array = { 
                id : id,
                brand_name : brand_name, 
                cat_id     : data,
                order      : order, 
                state      : 1
            };

2 个答案:

答案 0 :(得分:2)

.text()返回节点的文本内容,例如<p>this text here</p><input />元素没有文本内容,因此$('input').text()只会返回一个空字符串。那么你的order数组应该是一个空字符串数组。也许你想提取值?

$(".order").each(function(){
            order.push($(this).val());
});

答案 1 :(得分:1)

怎么样:

order.push($(this).val());