更改和发送多个网址上的数据与下拉选择不刷新

时间:2013-03-16 21:38:05

标签: jquery select refresh href

我决定将所选数据从下拉菜单中通过网址发送到我页面上打开不同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);

                 });
           });
    });
});

1 个答案:

答案 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

下次你选择的东西会变成

http://www.wattsports.co.uk/wp-content/themes/canvas/template-statistics_details3.php?chosen=somevalue?chosen=SomeOtherValue

您需要一种方法来存储原始href,或者在添加新的查询字符串之前添加代码以删除所选的= somevalue查询字符串。