C# 如何使用jquery$打开多个选项卡。每个选项卡

C# 如何使用jquery$打开多个选项卡。每个选项卡,c#,jquery,ajax,asp.net-mvc-4,C#,Jquery,Ajax,Asp.net Mvc 4,我试图根据表中选定的行打开X个选项卡。当ajax调用返回时,它点击jquery foreach,但只为我选择的3行打开一个选项卡,而不是为每个选择打开一个选项卡3选项卡。。。你知道为什么会这样吗?数组中的所有数据都正确,url生成工作正常。它只是没有为数组中的每个项打开一个选项卡 更新:这适用于IE 10,但不完全适用于chrome。它只为chrome打开一个:关于如何处理浏览器的想法 //FUNCTION function viewContracts(selectedRows) {

我试图根据表中选定的行打开X个选项卡。当ajax调用返回时,它点击jquery foreach,但只为我选择的3行打开一个选项卡,而不是为每个选择打开一个选项卡3选项卡。。。你知道为什么会这样吗?数组中的所有数据都正确,url生成工作正常。它只是没有为数组中的每个项打开一个选项卡

更新:这适用于IE 10,但不完全适用于chrome。它只为chrome打开一个:关于如何处理浏览器的想法

    //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');
    });
}

函数openContractsselectedRows{ $selectedRows.eachfunction i,obj{ window.open'@Url.ActionContractDetails,Contract'+'?Contract='+obj',_blank'; }; }


在IE中工作,但chrome将其限制为一个选项卡

您试图打开的选项卡的数据是否包含在selectedRows或响应对象数据中?另外,打开一个新的标签页是浏览器特有的行为,你可能无法强制执行。我看不出“openContracts”有任何错误。我能够打开多个标签弹出窗口,这取决于浏览器的行为。您的“selectedRows”是什么样子的?根据您的ifdata==null{!ERROR!}语句,我假设selectedRows函数需要回调对象数据的数据。selectedRows可能?selectedRows是一个字符串数组。因此,对于数组中的每个字符串,打开作为参数传递的字符串的url…从而打开一个表示链接到每个参数的数据的选项卡。我更新了这个问题,它在IE 10中有效,但在chrome中无效。你知道为什么吗?