如何使用表格中的上下文菜单打开新选项卡

时间:2014-02-28 07:18:49

标签: javascript jquery html css

enter image description here我正在使用数据表来显示一些数据并使用上下文菜单导航到数据表中的另一个页面。但问题是,当我单击上下文菜单选项卡时,新窗口将在相同的tab.but我需要在另一个选项卡中打开它,但它没有发生。我正在给代码..

<script type="text/javascript" class="showcase">
            $(function() {
                var selectedVal;
                $.contextMenu({
                    selector : '.context-menu-one',
                    callback : function(key, options) {
                        var row = options.$trigger;
                        var newUrl = key;

                        if (key === 'calllist.do') {
                            var rows = row.find("td").eq(2).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }
                        if (key === 'travel') {
                            var rows = row.find("td").eq(3).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }
                        if (key === 'call_usage') {
                            var rows = row.find("td").eq(3).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }
                        if (key === 'network_analysis') {
                            var rows = row.find("td").eq(3).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }
                        if (key === 'location_analysis.do') {
                            var rows = row.find("td").eq(3).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }

                        if (key === 'location_tracker.do') {
                            var rows = row.find("td").eq(3).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                        }

                        if (key === 'personal') {
                            var rows = row.find("td").eq(1).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                            //  alert(actionUrl);

                        }

                        if (key === 'newsim.do') {
                            var rows = row.find("td").eq(5).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();
                            //  alert(actionUrl);

                        }

                        if (key === 'analyzecallingno') {
                            var rows = row.find("td").eq(2).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();


                        }

                        if (key === 'simdensity.do') {
                            var rows = row.find("td").eq(5).html();
                            actionUrl = '?' + 'a_no='
                                    + rows.toLocaleString();


                        }

                        document.forms[0].action = newUrl + actionUrl;
                        document.forms[0].submit();
                    },
                    items : {

                        "analyzecallingno" : {
                            name : "Analyze Calling Number"
                        },
                        "travel": {
                            name : "Analyze Caller Tower"
                        },
                        "network_analysis" : {
                            name : "Social Network Analysis"
                        },
                        "call_usage" : {
                            name : "Call Analysis Summary"
                        },
                        "location_tracker.do" : {
                            name : "Location Tracking"
                        },
                        "personal" : {
                            name : "Caller Personal Details"
                        }

                    }
                });
            });
        </script>

        <table class="tableData context-menu-one" id="tableData"
            style="overflow-x: scroll">
            <thead>
                <tr style="font-size: 14px;">
                    <th align="left">CALLTYPE</th>
                    <th align="left">CALLER</th>
                    <th align="left">CALLEE</th>
                    <th align="left">DURATION</th>
                    <th align="left">START DATE</th>
                    <th align="left">END DATE</th>
                    <th align="left">FROM LOC</th>
                    <th align="left">TO LOC</th>
                    <th align="left">IMEI</th>
                    <th align="left">IMSI</th>
                </tr>
            </thead>
            <tbody>
                <c:forEach items="${searchpage}" var="listofvalues">
                    <tr class="context-menu-one notfirst" style="font-size: 12px;">
                        <td align="left"><c:out value="${listofvalues.call_type}" /></td>
                        <td align="left"><c:out value="${listofvalues.a_no}" /></td>
                        <td align="left"><c:out value="${listofvalues.b_no}" /></td>
                        <td align="left"><c:out
                                value="${listofvalues.call_duration}" /></td>
                        <td align="left"><c:out value="${listofvalues.start_day}" /></td>
                        <td align="left"><c:out value="${listofvalues.end_day}" /></td>
                        <td align="left"><c:out
                                value="${listofvalues.a_home_circle}" /></td>
                        <td align="left"><c:out
                                value="${listofvalues.a_rome_circle}" /></td>
                        <td align="left"><c:out value="${listofvalues.a_imei}" /></td>
                        <td align="left"><c:out value="${listofvalues.a_imsi}" /></td>

                    </tr>
                </c:forEach>
            </tbody>
        </table>
    </div>
</div>

enter image description here

1 个答案:

答案 0 :(得分:0)

也许您可以使用$("form:first").attr('target', '_blank').submit();而不是document.forms[0].action = newUrl + actionUrl;

PS。不要忘记设置您的操作网址:

$("form:first").attr({
                      'target':'_blank',
                      'action':newUrl + actionUrl
                    }).submit();

您也可以使用$( "form" ).first().attr....