让JS设置发布数据

时间:2014-08-25 23:08:49

标签: javascript php jquery ajax

我目前正在使用角色ID列出表中的大量用户。 使用选择下拉列表收集角色ID值,然后按提交。这将显示下表,其中包含具有该特定角色的所有用户。这样做的方法是,在提交表单时,在我的选择框的$ _POST内返回id。我想要做的是根本不使用提交按钮,我希望能够滚动浏览不同的角色,当我点击选择中的其他角色时,它会自动更新下面的表格,而无需发布。< / p>

让我们说我的选择框叫做角色:

<select id="role">

选项包括:

id: 1, name: blah1
id: 2, name: blah2

我一直在努力尝试使用ajax来完成这项工作,并使用更改功能将数据发布回PHP。这是我的代码:

$(document).ready(function() {
    $('#role').change(function(){
        var role_id = $('#role').val();
        $.ajax({
            url: 'assign-roles-2.php',
            data: {"roleID":role_id},
            type: 'post',
            success:function(data){
                $('#section').slideDown();
            }
        });
    });
    $('#role').trigger("change");
});

我在PHP中也有这个:

$role_id = trim($_POST["roleID"]);

但是这会返回null。我如何从select输入中获取值并使用它在PHP中设置此role_id变量而不提交表单?

1 个答案:

答案 0 :(得分:2)

我假设您对选项元素的描述:id: 1, name: blah1并未反映其标记,并且它们的定义如此......

<option value="1">blah1</option>

如果是这样,那么以下内容应该可以正常工作。

var role_id = $('#role').find('option:selected').val();