php - Codeigniter:使用 ajax 通过动态下拉列表更改状态
问题描述
我正在获取用户列表,表中的最后一列是用户的状态,默认是new
,管理员可以将状态更改为新的done
,我是 Codeigniter 的新手,所以不知道我的代码出了什么问题。
我的观点:
<thead>
<th>Sr.no</th>
<th>Hospital Name</th>
<th>Blood type</th>
<th>Status</th>
</thead>
<tbody>
<?php if(count($all_blood>0))
{
$i=0;
foreach ($all_blood as $user)
{
$i++;
?>
<tr>
<td><?php echo $i ?></td>
<td><?php echo $user->h_name ?></td>
<td><?php echo $user->btype?></td>
<td>
<select id="statusChange[<?= $user->req_id ?>]" <?php if ($user->status == 1) :?> disabled <?php endif;?> class="check">
<option value="0" <?php if (0 == $user->status) : ?> selected<?php endif; ?>>New</option>
<option value="1" <?php if (1 == $user->status) : ?> selected<?php endif; ?>>Done</option>
</select>
</td>
<td>
<?php $id = $user->req_id;?>
<a href="<?php echo site_url("users/delete/$id")?>" class="delete">Delete</a>
</td>
</tr>
<script>
$(window).on('load', function() {
$("#statusChange[<?= $user->req_id ?>]").on('change',function()
{
console.log("change");
$.ajax({
type:'POST',
data:{id:"<?= $user->req_id?>"},
url:'<?php echo base_url("getData/change_status"); ?>',
success:function(data){
console.log(data);
}
});
event.preventDefault();
});
});
</script>
<?php }
}?>
</tbody>
现在我尝试将 ajax 排除在 foreach 循环之外,但是我的 ajax 没有得到一个问题,req_id
我需要将其发送到控制器,这是另一个问题,我正在尝试使用动态class
,id
所以它只会管理员会选择,但它不起作用
如果我将下拉列表的 id 更改为简单的“statusChange”,则该函数.on('change')
运行良好,但如果我使用动态,则不会调用
解决方案
推荐阅读
- devops - 圣杯和在 AWS 代码构建中将 jq 1.3 升级到 1.6
- javascript - 我的“过渡”事件侦听器不起作用吗?
- c# - 使用 C# XmlElement 创建 XML 字符串
- bash - 如何使用 Bash 将 .flac 文件的目录(包括多个子目录)转换为 .mp3?
- html - 单击颜色时如何更改整个站点的背景颜色或文本颜色?角
- python - 如何将我的python默认为另一个python版本
- python - 如何根据列表元素的类型将列表转换为字符串
- r - 当条件表达式存储在数据框列中时,如何迭代运行 dplyr::case_when()?
- sql - SQL语句获取未排序的书名
- ms-office - Office 始终以匿名用户身份请求文件