jquery - 如何显示数据以从 ajax 发布响应中选择选项以在 laravel 中查看
问题描述
我想显示从 ajax POST 中查看的选项。在浏览器控制台中,console.log(el.devc_name)
可以显示。但是为什么它没有出现在 id 为 offerDropdown 的选项中?
<form method="POST" name="formSellout" id="formSellout" action="/sellout/addserialnumber" style="color:#FFF">
<div class="row">
<div class="col-lg-4 col-md-6 col-xs-6">
<input class="form-control ui-autocomplete-input" type="text" id="serial_number" name="serial_number" value="" placeholder="Fill The Serial Number"/>
</div>
<div class="col-lg-2 col-md-6 col-xs-6">
<button class="btn btn-danger" type="submit" id="addSN" style="width: 100%">
<i class="dripicons-document-new"></i>
Insert Data
</button>
</div>
</div><br/>
<div class="row">
<div class="col-lg-4 col-md-6 col-xs-6">
<select class="form-control" id="offerDropdown" name="offerDropdown">
<option> Offer </option>
</select>
</div>
</div><br/>
阿贾克斯
$("#addSN").on("click", function(){
event.preventDefault()
$.ajax({
method: "POST",
url: "/sellout/addserialnumber",
data: $("#formSellout").serialize(),
success: function(response) {
if(response.length) {
response.forEach(el => {
$("#offerDropdown").append(`<option value='${el.devc_name}'> ${el.devc_name}</option>`)
console.log(el.devc_name)
})
}
},
error: function(error) {
}
})
$("#addSN").hide()
})
控制器:
public function addSerialNumber(Request $request)
{
$sn = $request->all();
$offer = Product::select('devc_name')->where('sn_bundling', $sn['serial_number'])->get();
return response()->json($offer);
}
路线:
Route::post('sellout/addserialnumber', 'SellOutController@addSerialNumber');
解决方案
你的代码几乎没问题。但是下面的代码根本没有意义。response.length返回整数值。但是在if(response.length)中,您检查了不可能的条件。因为reponse.length不提供布尔值,它提供整数。所以修改你的代码
$("#addSN").on("click", function(){
event.preventDefault()
$.ajax({
method: "POST",
url: "/sellout/addserialnumber",
data: $("#formSellout").serialize(),
success: function(response) {
if(response.length) {
response.forEach(el => {
$("#offerDropdown").append(`<option value='${el.devc_name}'> ${el.devc_name}</option>`)
console.log(el.devc_name)
})
}
},
error: function(error) {
}
})
$("#addSN").hide()
})
修改后的代码
$("#addSN").on("click", function(){
event.preventDefault()
$.ajax({
method: "POST",
url: "/sellout/addserialnumber",
data: $("#formSellout").serialize(),
success: function(response) {
if(response.length > 0) {
response.forEach(el => {
$("#offerDropdown").append(`<option value='${el.devc_name}'> ${el.devc_name}</option>`)
console.log(el.devc_name)
})
}
},
error: function(error) {
}
})
$("#addSN").hide()
})
推荐阅读
- javascript - django - ajax - 从 jquery/ajax 调用 python 函数
- javascript - Mousemove 事件 - 基于鼠标位置的 div 位置正在反转
- python - Pytorch:当事件暗淡的数量> 1时计算 LowRankMultivariateNormal 的协方差矩阵
- sql - XML 到 SQL 表 (epcis:EPCISDocument)
- regex - 如何在 VBA (Microsoft Word) 中使用 RegExp 找到行尾?
- swift - 差异删除对象并为 UserDefaults 变为 nil - Swift
- javascript - 打开多个图像模式不起作用
- android - android原生构建系统
- python - Python 使用值,同时逐行读取
- algorithm - 3字节输出散列算法