我决定将所选数据从下拉菜单中通过网址发送到我页面上打开不同fancybox的多个链接。但它只工作一次。
它打开发送正确数据的fancybox但是当我关闭fancybox(这意味着它不刷新我的页面只是一个fancybox)并且我更改我的下拉列表的值并重新打开我的fancybox发送的值不是不要改变,我坚持使用第一个发送值。
你可以帮我解释一下,然后向我解释为什么它不起作用,我是jquery的新手,谢谢。
$the_event = mysql_query("SELECT `event_id`, `name` FROM `event` ORDER BY event_id ASC");
带有evenement的下拉菜单
echo '<select name="<?php$the_event?>" style="width: 150px">';
while( list($event_id, $event_name) = mysql_fetch_row($the_event) )
{
echo '<option value="'.$event_id.'">'.$event_name.'</option>';
}
echo '</select>';
?>
</div>
该活动的不同运动的菜单galery,在fancybox中打开每项运动的不同统计数据
<nav>
<a class="fancybox" rel="gallery_hurdling" data-fancybox-type="iframe" href="http://www.wattsports.co.uk/wp-content/themes/canvas/H1.php" data-fancybox-group="gallery_hurdling" tabindex="1" title="hurdling" alt="sport 1" ><img src="http://www.wattsports.co.uk/css/hurdling.png" alt="sport 1" /></a>
<div class="hidden">
<a class="fancybox" rel="gallery_hurdling" data-fancybox-type="iframe" href="http://www.wattsports.co.uk/wp-content/themes/canvas/H2.php" data-fancybox-group="gallery_hurdling" title="hurdling" ></a>
</div>
<a class="fancybox" data-fancybox-type="iframe" data-fancybox-group="gallery_wattball" href="http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details2.php" tabindex="2" title="wattball" alt="sport 2" ><img src="http://www.wattsports.co.uk/css/wattball.png" alt="sport 2" /> </a>
<div class="hidden">
<a class="fancybox" data-fancybox-type="iframe" data-fancybox-group="gallery_wattball" href="http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details1.php" title="wattball" > </a>
<a class="fancybox" data-fancybox-type="iframe" data-fancybox-group="gallery_wattball" href="http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details3.php" title="wattball" ></a>
</div>
</nav>
获取下拉列表中所选项目值的函数,并将其放在每个统计页面的“?chosen =”的href末尾。 这样他们就可以获得事件并打开所选事件的不同统计数据
Query(function($) {
$("select").change(function ()
{
var str = "";
$(this).find("option:selected").each(function () {
str += $(this).val() + " ";
$("a").attr('href', function(i, href) {
var newUrl = $(this).attr('href')+'?chosen='+str;
$(this).attr('href',newUrl);
});
});
});
});
答案 0 :(得分:0)
只要用JQuery更改href属性,就是新的HREF。第二次选择一个选项时,href会附加一个查询字符串。例如
<a class="fancybox" data-fancybox-type="iframe" data-fancybox-group="gallery_wattball" href="http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details3.php" title="wattball" ></a>
的href为http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details3.php。
第一次选择时,它会变为http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details3.php?chosen=somevalue。
下次你选择的东西会变成
您需要一种方法来存储原始href,或者在添加新的查询字符串之前添加代码以删除所选的= somevalue查询字符串。