jquery - 在循环内更改多个下拉列表值
问题描述
大家好,我是 laravel 和 Jquery 的新手。如何根据接收到的值更改通过 foreach 循环生成的多个下拉值
我使用过 jquery,但它只会更改第一个下拉值,不会更改其余的值
我的观点
@extends('layouts.app')
@section('content')
<!-- Modal for adding new request-->
<form method="post" action="insertrequest">
@csrf
<table id="formTable" >
<thead>
<td>مقدار</td>
<td>واحد</td>
<td>شرح</td>
<td>ملاحظات</td>
</thead>
@foreach($result as $results)
<tr>
<td><input type="text" class="form-control" name="quantity[]" id="quantity" placeholder="مقدار" value="{{$results->quantity}}"></td>
<td><select name="units_id[]" id="units_id">
@foreach($unit as $units)
<option value="{{$units->id}}">{{$units->unit_name}}</option>
@endforeach
</select></td>
<td><input type="text" class="form-control" name="description[]" id="description" value="{{$results->description}}"></td>
<td><input type="text" class="form-control" name="remarks[]" id="remarks" value="{{$results->remarks}}"></td>
</tr>
<script>
$("#units_id").closest("tr",document.getElementById("units_id").value = "{{$results->units_id}}");
</script>
@endforeach
</table>
<input type="submit" class="btn btn-primary" value="submit">
</form>
@endsection
解决方案
我已经查看了您的代码问题在选择标签行中您必须为每个选择标签下拉菜单设置唯一的 ID。有多个选择标签正在生成,所以每次第一次出现 units_id 都会被 javascript 采用,所以你必须设置唯一的 id
所以创建动态ID它可以工作......
推荐阅读
- node.js - 在 npm 脚本中导出 .env 文件
- html - 有什么方法可以在 scss 的帮助下更改主题
- javascript - 通过Javascript更改Flask模板中的图像
- ruby-on-rails - 在 yaml 文件中设置多个值,为什么只用 Rails 得到第一个?
- javascript - 基于输入值的表格计算器
- grafana - 如何超时 grafana 会话 cookie
- python - Python 3.6 - 具有列表理解迭代的多处理映射,包含在主上下文中定义的列表
- php - 如何测试处理 Eloquent 模型的 Laravel 包?
- arrays - 使用 while 和数组重复输入
- javascript - React:将函数参数应用于闭包打破了模块化