jquery - 选择下拉列表时从行中获取相应的单元格值
问题描述
我有下表动态生成
代码如下
echo '
<tr>
<td scope="row">'.$srNumberOa.'</td>
<td>'.$check.'</td>
<td>'.$numberOfDays.'</td>
<td>'.$uph.'</td>
<td>'.$numberOfUsefulHoursPerOa.'</td>
<td>'.$numberOfPinsPerOa.'</td>
<td>
<div class="col-sm" id="">
<select class="form-control" id="" name="">
<option selected="selected"> </option>
<option>Shift 1</option>
<option>Shift 2</option>
<option>Shift 3</option>
<option>Shift 4</option>
</select>
</div>
</td>
<td>
<input type="radio" name="currentOa">
</td>
</tr>';
这里所有这些都是标签内的动态 php 变量<td>
。
我想在选择的“ OA Shift”下拉列表中,警告或捕获“名称”和各自的单选按钮状态的值。例如,如果我更改序列号的“OA Shift”下拉列表:第 11 行,它应该警告或捕获名称为 X 和单选按钮为假。有人可以帮我怎么做吗?
编辑 1
请注意,我上面显示的表单是 Ajax 输出。所以所有这些值都来自另一个 php 页面。
解决方案
当您使用 jquery - 您可以change
为您的选择添加一个处理程序:
$('select.form-control').on('change', function() {
// find the parent `tr` for the `select`
var tr = $(this).closest('tr');
// `name` is the text of second `td`:
var name = tr.find('td').eq(1).text();
alert(name);
// checkbox can be found by "name" attribute, for example:
var cb = tr.find('input[name="currentOa"]');
alert(cb.prop('checked'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<table>
<tr>
<td scope="row">11</td>
<td>X</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>
<div class="col-sm" id="">
<select class="form-control" id="" name="">
<option selected="selected"> </option>
<option>Shift 1</option>
<option>Shift 2</option>
<option>Shift 3</option>
<option>Shift 4</option>
</select>
</div>
</td>
<td>
<input type="radio" name="currentOa">
</td>
</tr>
<tr>
<td scope="row">22</td>
<td>Y</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>
<div class="col-sm" id="">
<select class="form-control" id="" name="">
<option selected="selected"> </option>
<option>Shift 1</option>
<option>Shift 2</option>
<option>Shift 3</option>
<option>Shift 4</option>
</select>
</div>
</td>
<td>
<input type="radio" name="currentOa">
</td>
</tr>
</table>
推荐阅读
- javascript - 反应 createContext 抛出错误
- android - 无法访问 getSupportFragmentManager()
- c++ - IDA Pro - 将 HIBYTE、LOBYTE 和 __OFSUB__ 宏重写为 C++
- swift - SwiftUI:第一个动画完成后如何运行另一个动画?
- java - 在 Spring Boot AOP 中,如何在方法“Around”期间获取类注解?
- python - jupyter笔记本中的ModuleNotFoundError
- sql - 如何删除 SQL 中的重复数据?
- python - 图像文件未通过 Python 和 Flask REST API 上传到服务器
- python-3.x - 将目录中的图像加载到 numpy 数组中
- android - 键盘启动后在 TextInputEditText 中编辑文本时光标隐藏