2014-11-20 49 views
0

我試圖根據表中選定的行打開X數量的選項卡。當ajax調用返回時,它會觸發jQuery的foreach,但只會爲我選擇的3行打開一個選項卡,而不是每個選項的選項卡(3個選項卡)...任何想法爲什麼會發生這種情況?數組中的所有數據都是正確的,並且網址生成工作正常。這只是不打開數組中的每個項目的選項卡。

更新:這在IE 10中的作品,但不完全鉻..打開只有一個鉻。關於如何處理瀏覽器:(思考?

//FUNCTION 
function viewContracts(selectedRows) { 
    $.ajax({ 
     type: "POST", 
     url: "/Home/SetContracts", 
     data: { contracts: selectedRows.join() }, 
     async: false, 
     success: function (data) { 
      if (data == null) { 
       alert('There was an error viewing the selected contracts.'); 
      } 
      else { 
       openContracts(selectedRows); 
      } 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      alert('There was an error viewing the selected contracts.'); 
      alert(thrownError); 
     } 
    }); 
} 

//FUNCTION 
function openContracts(selectedRows) { 
    $(selectedRows).each(function (i, obj) { 
     window.open('@Url.Action("ContractDetails", "Contract")' + '?contract=' + obj, '_blank'); 
    }); 
} 
+0

講述的是標籤中的數據,你'試圖打開包含在'selectedRows'或響應對象'data'中?另外,打開一個新標籤是瀏覽器特有的行爲,你可能不會能夠執行。 – wahwahwah 2014-11-20 19:22:48

+0

我看不出'openContracts'有什麼問題。我能夠打開多個選項卡(彈出窗口,取決於瀏覽器的行爲)。你的'selectedRows'看起來像什麼? – stack247 2014-11-20 19:43:55

+0

根據你的'if(data == null){!ERROR! }'語句,我假設'selectedRows()'函數需要'data'回調對象('data.selectedRows'或許?) – wahwahwah 2014-11-20 19:56:17

回答

0

功能openContracts(selectedRows){$ (selectedRows)。每個(函數(I,OBJ){ window.open('@ ​​Url.Action(「ContractDetails ?」, 「合同」)」 + '合同=' + OBJ, '_blank'); });在IE }

的作品,但鉻限制它一個標籤

相關問題