我是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时。代码无效。但我第二次点击它打开新标签。请帮我删除我的错误
答案 0 :(得分:1)
你有一个触发的函数,和你有一个事件监听器(.change()
)。
只尝试使用一个 - 例如,在DOM准备就绪时添加事件监听器(使用$(function(){ })
):
$(function(){
$("#select_ss").change(function(){
var href=$("#select_ss > option:selected").attr("data-href");
window.open(href,"_blank");
})
})
答案 1 :(得分:1)
这是因为你把改变事件放了两倍:
<select .... onchange="open_window(this.value)>"
$("#select_ss").change(function(){});
尝试删除js中的那个。例如。