当我从下拉列表中选择数据时,如何在URL(media.php?data = 123)中添加$ _GET ['data']?

时间:2015-10-15 10:35:17

标签: javascript php jquery mysql ajax

我正在开发一个项目,我在php中有一个网站,在mysql中有数据库。我把他们联系得很好。现在我有了combobox,其中我用数据库中的数据填充了它。

这是我的“选择”脚本:

<script>
 jQuery(".asdasd").on("change", function () {
        var url_to_append = $(this).find(":selected").text();
        var val = $(this).find(":selected").val();
        //if above dont work try this var val =$('select[name="day"]').val();
        window.location.href = "yourURL?"+url_to_append+"="+val;

    });
 </script>

<td><select class="form-control input-sm mb-md" name="day">
        <option value=0 selected>- Day -</option>
    <?php
    $q = mysql_query("select * from t_day");
    while ($row1 = mysql_fetch_array($q)){ 
        echo "<option value=$row1[kd_day] required\>$row1[day]</option>";
    }
    ?>
    </select></td>

fyi:$ row1 [kd_day]值是(星期一,星期二,星期三,星期四,星期五,星期六,星期日)

现在的问题是,在从组合框中选择任何值时,我选择的数据应该在地址栏中更新(使用所选值自动刷新)。

example_1:当我从下拉列表中选择“星期五”时,页面会刷新,网址将变为www.mydomain.com/index.php?days=friday

example_2:当我从下拉列表中选择“星期日”时,页面会刷新,网址将变为www.mydomain.com/index.php?days=sunday,

如何制作?

4 个答案:

答案 0 :(得分:2)

你可以尝试

  jQuery(".input-sm mb-md").on("change", function () {
        var url_to_append = $(this).find(":selected").text();
        var val = $(this).find(":selected").val();
        //if above dont work try this var val =$('select[name="day"]').val();
        window.location.href = "yourURL?"+url_to_append+"="+val;

    });

答案 1 :(得分:1)

使用jquery

$(".input-sm").on("change", function () {
        window.location.href = "www.mydomain.com/index.php?days="+$(this).find(":selected").text();

    });

或者您可以尝试在您的选项中使用锚标记(不确定它是否可行)

echo "<option value=$row1[kd_day] required\><a href='www.mydomain.com/index.php?days='.$row1[day]>$row1[day]</a></option>";

答案 2 :(得分:0)

另一个干净的解决方案是......

<select class="form-control input-sm mb-md" name="day" onchange="location = this.options[this.selectedIndex].value;">
 <option value="#">- Day -</option>
 <option value="http://website.com/?days=monday">Monday</option>
 <option value="http://website.com/?days=tuesday">Tuesday</option>
</select>

现在你必须从PHP动态地输入名称。

我建议您在页面顶部创建$q并使用:

while (expression):
// do stuff
endwhile;

这种方式更具可读性。 (个人意见)

答案 3 :(得分:0)

请尝试这个我认为这将是非常简单的解决方案,希望它能为您服务。

<td><select class="form-control input-sm mb-md" name="day" onchange="gotoSelect(this.value)">
    <option value=0 selected>- Day -</option>
<?php
$q = mysql_query("select * from t_day");
while ($row1 = mysql_fetch_array($q)){ 

    if(isset($_REQUEST['day']) && $_REQUEST['day'] == $row1[kd_day]){

        echo "<option value=$row1[kd_day] required\ selected='selected'>$row1[day]</option>";

    }else{
        echo "<option value=$row1[kd_day] required\>$row1[day]</option>";   
    }
}
?>
</select></td>  

<script >
function gotoSelect(day)
{
    if(day != '0'){
        var url = "http://yourdomain.com?day="+val;
        location.replace(url);
    }
}
</script>

请试试这个。