使用下拉菜单将两个变量从php传递到ajax

使用下拉菜单将两个变量从php传递到ajax,php,ajax,onchange,Php,Ajax,Onchange,如何将这两个值(filter和$user\u id)传递给Ajax PHP: $user_id = 3; echo "<select name=\"filter\" data-userid=\"".$user_id."\" onchange=\"getPoints(this.value)\"> <option value=\"one\">One</option> <option value=\"two\">Two</option> &

如何将这两个值(filter和$user\u id)传递给Ajax

PHP:

$user_id = 3; 
echo "<select name=\"filter\" data-userid=\"".$user_id."\"
onchange=\"getPoints(this.value)\">
<option value=\"one\">One</option>
<option value=\"two\">Two</option>
</select>"; 
我要获取此url:

http://website.com?user_id=3&action=one
我无法将$user\u id传递给Ajax。
提前感谢您。

您的代码应该是

function getPoints(filter)
{
    var userid = $(this).attr('data-userid');

    $.ajax({
        type: "GET",
        url: 'http://website.com',
        data: {action: filter, user_id: user_id},
        success: function (result) {
            $("#Target").html(result);
        }
    });
}
或者,如果我谈论你的方式,那么它应该是

function getPoints(filter)
{
    var userid = $(this).attr('data-userid');

    $.ajax({
        type: "GET",
        url: 'http://website.com?user_id='+userid+'&action='+filter,
        success: function (result) {
            $("#Target").html(result);
        }
    });
}
最好使用
数据:{action:filter,user\u id:user\u id}
,因为它将被视为对象本身

编辑 JS

PHP

$user\u id=3;
回声“
一个
两个
";

试试这样的方法

function getPoints(filter){
  var userid = $(this).data('userid');

  $.ajax({
  type: "GET",
  url: 'http://website.com?user_id='+userid,
  data: { action:filter, user_id: userid},
  success: function(result){
   $("#Target").html(result);
  }
 });
};

为选择控件提供一个id,并尝试通过jaquery动态追加值(var userid=$(this).attr('data-userid');)的问题,他返回未定义的值。我需要使用函数getPoints(filter)。函数的名称对我的项目很重要。您的第一个解决方案不起作用。问题在于返回userid(var userid=$(this).attr('data-userid');)的问题,他返回未定义的;het返回userid:undefined.@NachoMoço:谢谢您的支持
 function getPoints(filter)
    {
        var user_id = document.getElementById('test_class').getAttribute('data-userid');
        console.log(user_id);
        $.ajax({
            type: "GET",
            url: 'http://website.com',
            data: {action: filter, user_id: user_id},
            success: function (result) {
                $("#Target").html(result);
            }
        });
    }
$user_id = 3; 
echo "<select id='test_class' name=\"filter\" data-userid=\"".$user_id."\"
onchange=\"getPoints(this.value)\">
<option value=\"one\">One</option>
<option value=\"two\">Two</option>
</select>";
function getPoints(filter){
  var userid = $(this).data('userid');

  $.ajax({
  type: "GET",
  url: 'http://website.com?user_id='+userid,
  data: { action:filter, user_id: userid},
  success: function(result){
   $("#Target").html(result);
  }
 });
};