onchange值为select的重载页面


onchange reload page with value of select

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

这是我所拥有的:

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
}

这不是一个公共网站,所以我猜有一种更安全的方法可以做到这一点,但这可能已经足够了,因为只有使用它的团队成员才能登录才能看到这个页面。

您需要使用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;
};
window.addEventListener('load', function(){
    var select = document.getElementById('tv_taken');
    select.addEventListener('change', function(){
        window.location = 'pagename.php?tv_id=' + this.value;
    }, false);
}, false);