我目前正在处理一个页面,该页面使用 Angular 色 ID 在表中列出了很多用户。 使用选择下拉菜单收集 Angular 色 ID 值,然后按提交。这显示了下表以及具有该特定 Angular 色的所有用户。这样做的方式是,当提交表单时,id 在我的选择框的 $_POST 中返回。我想做的是根本不使用提交按钮,我希望能够滚动浏览不同的 Angular 色,当我在选择中单击不同的 Angular 色时,它会自动更新下表而无需发布。
假设我的选择框称为 Angular 色:
<select id="role">
选项是:
id: 1, name: blah1
id: 2, name: blah2
我一直在尝试使用 ajax 完成这项工作,并使用 change 函数将数据发回 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"]);
但这返回为空。我如何在不提交表单的情况下获取从选择输入中获取的值并使用它在 PHP 中设置此 role_id 变量?
最佳答案
我假设您对选项元素的描述:id: 1, name: blah1
没有反射(reflect)它们的标记,并且它们的定义是这样的...
<option value="1">blah1</option>
如果是这样,那么以下应该可以正常工作。
var role_id = $('#role').find('option:selected').val();
关于javascript - 让JS设置发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495676/