Javascript 从jquery生成的选择下拉列表中删除一个选项
我正在开发社交网络的一个非常基本的管理员功能,我遇到了一个问题,即无法从我以前使用jquery生成的选择下拉列表中删除选项。下拉列表包含社交网络的所有用户。管理员单击“删除帐户”后,将从数据库中删除相应的记录 现在的问题是——当我点击delete account时,它工作得非常好,但是带有用户名的选项仍然在下拉列表中,并且可以被选中——当选中时,它显然会返回几十个PHP警告和错误,因为记录不再存在于数据库中。如何立即删除此选项?我尝试了以下类似的方法,但不起作用 admin_panel.php仅适用于相关内容Javascript 从jquery生成的选择下拉列表中删除一个选项,javascript,php,jquery,select,Javascript,Php,Jquery,Select,我正在开发社交网络的一个非常基本的管理员功能,我遇到了一个问题,即无法从我以前使用jquery生成的选择下拉列表中删除选项。下拉列表包含社交网络的所有用户。管理员单击“删除帐户”后,将从数据库中删除相应的记录 现在的问题是——当我点击delete account时,它工作得非常好,但是带有用户名的选项仍然在下拉列表中,并且可以被选中——当选中时,它显然会返回几十个PHP警告和错误,因为记录不再存在于数据库中。如何立即删除此选项?我尝试了以下类似的方法,但不起作用 admin_panel.php仅
<select name='users' id='users'>
<option value="" disabled selected>Select user</option>
<?php
$sql = mysql_query("SELECT * FROM users WHERE id <>'".$_SESSION['user_id']."'ORDER BY username DESC") or die(mysql_error());
$userList = [];
while($row=mysql_fetch_assoc($sql)){
$username = $row['username'];
$userID = $row['id'];
$userList .= '<option name="userID" value='.$userID.'>'.$username.'</option>';
}
echo $userList;
?>
</select></br></br></div>
<div id="user_info">
<!-- generated user info table-->
</div>
<script type="text/javascript">
"$('#user_info').on('click', '#deleteAccount', function(e){
data.command = 'deleteAccount'
data.userID = $('#users').val()
$.post(theURL, data, function(result){
//Do what you want with the response.
$('#delete_account_success').html(result);
})
$("#users option[value='data.userID']").remove();
$('#delete_account_success').show();
$('#delete_account_success').fadeOut(5000);
})
</script>
processUser.php是switch语句的一部分
if(isset($_POST['command'])){
$cmd = $_POST['command'];
$userID = $_POST['userID'];
$sql=mysql_query("SELECT * FROM users WHERE id='".$userID."'");
$userData = [];
while($row = mysql_fetch_assoc($sql)){
$userData['userid'] = $row['id'];
$userData['username'] = $row['username'];
$userData['name'] = $row['name'];
$userData['date'] = $row['date'];
$userData['email'] = $row['email'];
$userData['avatar'] = $row['avatar'];
$userData['about'] = $row['about'];
$userData['admin'] = $row['admin'];
}
switch($cmd){
case 'deleteAccount':
$sql= "DELETE FROM users WHERE id =".$userID;
$result=mysql_query($sql);
echo "<img src='pics/ok.png' class='admin_updated_ok'>";
break;
}
在这条线上
$("#users option[value='data.userID']").remove();
您正在从值等于字符串literal data.userID的用户中删除任何选项项
试着把它改成
$("#users option[value='" + data.userID + "']").remove();
$users选项[value='+data.userID+'].hide;