javascript - 如何根据下拉列表中的选择显示表格值?
问题描述
我想根据包含产品 ID 的下拉菜单的选择来显示(在输入文本字段上)产品的描述(这是一个 MEDIUM TEXT 字段类型)。棘手的部分是我想通过产品 ID 查询我的数据库。
我可以使用 Javascript 在输入文本字段上显示产品描述,但我想通过产品 ID 查询我的数据库。
我有一个非常简单的数据库:product_ID | product_descrip "product_descrip" 是一种 MEDIUM TEXT 字段类型,每个产品最多可以包含 16Mb。
我的控制器:
public function findProduct() {
$products = Product::All();
return view("updatingStock", compact("products"));
}
public function stockUpdate(Request $req) {
$selectedProduct = Product::where("product_ID", "=", $req["productsOption1"])->first();
$selectedProduct->update();
return redirect("/updatingStock");
}
我的观点:
<select class="form-control" name="productsOption1" id="dropdown1">
<option value="" selected>Product...</option>
@foreach ($products as $product)
<option value={{$product["product_descrip"}}>{{$product["product_ID"]}}</option>;
@endforeach
</select>
<input class="form-control" id="myproduct" type="text" placeholder="" readonly>
我的脚本:
<script type="text/javascript">
var oneproduct = document.getElementById('myproduct1');
var mydropdown = document.getElementById('dropdown1');
mydropdown.onchange = function(){
myproduct.value = this.value;
}
</script>
如您所见,我可以在输入只读字段上显示产品描述,但我需要通过 product_ID 查询我的数据库,而不是通过 product_descrip
万分感谢!
解决方案
然后将您的选择 vlaue 更改为 id,在 js 中使用您的数据启动数组,如下所示
var Products = {!!json_encode($selectedProduct -> toArray()) !!}
然后使用 js fiddle 中的代码
推荐阅读
- amazon-web-services - AWS lambda python 方法/代码需要在每次调用时使变量成为全局变量
- javascript - '无法读取未定义的属性'通道''
- reactjs - 当复选框选中过滤数据时做出反应
- python - 回文检测程序无法正常工作
- android - 横向包括纵向布局
- c++ - C++:“抛出异常:读取访问冲突。” 将向量分配给另一个时
- google-apps-script - 尝试运行任何东西时,容器绑定脚本突然说“应用程序被阻止”
- python - Python Selenium Webdriver - 在 Instagram 上处理鼠标悬停
- aws-lambda - 是否可以将alexa输出连接到amazon SQS
- python - 使用路由器与在 urlpatterns 中包含 url