如何在选择标记上打开新选项卡

时间:2016-05-20 11:05:27

标签: javascript php jquery

我是PHP新手。我想在用户点击选择标签选项值时打开新标签。 这是我的代码

SELECT
    Customers.CustomerID,
    Customers.Name,
    COUNT(Orders.OrderID) AS Orders,
    MIN(Orders.Timestamp) AS OldestOrder,
    MAX(Orders.Timestamp) AS NewestOrder
FROM Customers  
INNER JOIN Orders ON Orders.CustomerID= Customers.CustomerID
GROUP BY Customers.CustomerID

这是JavaScript

<td> <select name="select_ss" id="select_ss" STYLE="width: 300px"  onchange="open_window(this.value)">
                <option value="">[--Select Sector Study------]</option>
                <?php
                if(is_array($getAllSectorStudys) && !empty($getAllSectorStudys))
                {
                    foreach($getAllSectorStudys as $getAllSectorStudy)
                    {
         echo '<option value="'.$getAllSectorStudy->ID.'" data-href="test.php?id='.$getAllSectorStudy->ID.'">';
                        /*echo '<option value="'.$getAllSectorStudy->ID.'"';
                        echo '>';*/
                        echo $getAllSectorStudy->name;
                        echo '</option>';
                    } 
                }           
                ?>
            </select>

在我的代码中,我有一个错误。当我第一次点击Option Tag时。代码无效。但我第二次点击它打开新标签。请帮我删除我的错误

2 个答案:

答案 0 :(得分:1)

你有一个触发的函数,你有一个事件监听器(.change())。

只尝试使用一个 - 例如,在DOM准备就绪时添加事件监听器(使用$(function(){ })):

$(function(){
  $("#select_ss").change(function(){
    var href=$("#select_ss > option:selected").attr("data-href");
    window.open(href,"_blank");
  })
})

See JSFiddle

答案 1 :(得分:1)

这是因为你把改变事件放了两倍:

  • 进入您的html代码<select .... onchange="open_window(this.value)>"
  • 一次在您的js代码中$("#select_ss").change(function(){});

尝试删除js中的那个。例如。