2016-02-09 158 views
0

我有以下代碼的服務器上使用Ajax使用jQuery表格插件提交數據:刪除項根據條件

initForm: function() { 
       //submit form function 
       var options = { 
        delegation: true, 
        dataType: "json", 
        beforeSubmit: function(arr, $form, options) { 
         console.log(viewCtrl.dliProductsChanged); 

         for (var j = 0; j < arr.length; j++){ 
          var obj = arr[j]; 
          //always returns -1 
          if(viewCtrl.dliProductsChanged.indexOf(obj.value) != -1){ 
           console.log('HERE'); 
          } 

         } 

         $form.find(".submit-button").button("loading"); 
         $form.find(".discount-value, .trucking").addClass("uneditable-input"); 
         $form.find(".discount-type").attr("readonly", true); 
        }, 
        success: function(responseText, statusText, xhr, $form) { 
         if (responseText.status == "success") { 
          viewCtrl.modal.modal("hide"); 
          $.growl.notice({ title: "<strong>Saved</strong>", message: responseText.message, size: "large", duration: 5000, location: "br" }); 
         } else { 
          viewCtrl.modal.find(".modal-content").html(responseText.form); 
         } 

         $form.find(".submit-button").button("reset"); 
        } 
       }; 

       $("#manage-products-form").ajaxForm(options); 
}, 

現在我想篩選提交前的一些項目。我想刪除不在viewCtrl.dliProductsChanged中的商品。但是,當我檢查某個物品是否在viewCtrl.dliProductsChanged中時,它總是返回-1。但我確定該項目在那裏,因爲我做了很多console.log()

這些是我登錄

viewCtrl.dliProductsChanged
[1899]

物鏡內部ARR

對象{名:「ci_inventorybundle_discountlevelitemcollectiontype [discountLevelItemProducts] [0] [variant]「,值:」1899「,類型:」hidden「,required:true}

這似乎是什麼問題?謝謝。

+0

在你的beforeSubmit函數中,如何在'obj'和'viewCtrl.dliProductsChanged'中有什麼樣的數據。你可以發佈一些虛擬數據 –

+0

@PrashantAgrawal我編輯我的問題,請參閱。謝謝。 – iamjc015

+0

@JCFrane我想這是空的:'console.log(arr);'.......?你可否確認? – Jai

回答

1

你的數組包含整數值,但你的obj.value是字符串。嘗試這個。

if(viewCtrl.dliProductsChanged.indexOf(Number(obj.value)) != -1){ 
    console.log('HERE'); 
} 
+0

我是個白癡。謝謝。 – iamjc015