onchange重新加载页面,其值为select

时间:2012-09-08 12:58:26

标签: php javascript select onchange

我有一个显示结果的表格,我想让人们能够单独更新单元格/字段的结果而无需整个更新表格

这就是我所拥有的:

echo "<select name='tv_taken' id='tv_taken' onchange='window.location=\"samepage.php?update=tv_taken&update_id=$tv_id\" '>";

您可以告诉它一个带有用户列表的选择框。现在唯一的问题是我需要在url字符串中传递新的选定值,所以我想要select的新值。

所以,让我们说这是玛丽,有人选择新用户约翰,我想要这样的东西

echo "<select name='tv_taken' id='tv_taken' onchange='window.location=\"samepage.php?update=tv_taken&update_id=$tv_id&user_name=$find_username\" '>";

我不确定有没有办法通过php传递更改后的值,还是需要javascript解决方案?

我会使用

IF if(isset($_GET['tv_id'])) 
{
Do the update
}

这不是一个公共站点,所以我猜测有一种更安全的方法可以做到这一点,但这应该足够了,因为它只会是使用它的团队成员,在他们看到这个页面之前需要登录。

2 个答案:

答案 0 :(得分:9)

您希望使用JavaScript来实现此目标。

这是一个jQuery解决方案:

$('#tv_taken').change(function() {
    window.location = "samepage.php?update=tv_taken&update_id=" + $(this).val();
});

这是一个普通的JavaScript解决方案:

document.getElementById('tv_taken').onchange = function() {
    window.location = "samepage.php?update=tv_taken&update_id=" + this.value;
};

答案 1 :(得分:0)

window.addEventListener('load', function(){
    var select = document.getElementById('tv_taken');

    select.addEventListener('change', function(){
        window.location = 'pagename.php?tv_id=' + this.value;
    }, false);
}, false);