javascript - 通过 laravel 更新 MySQL 中的选择标签
问题描述
你好我的主人,
我想更新(链接名称、链接地址、链接类型)。HTML 页面提要中带有标记的链接类型。我知道互联网上有很多关于 CURD 的代码,但我不知道为什么我的代码不能正确执行。我在下面提到了一些问题,可能很长,所以首先道歉。
第一部分:使用 Ajax 从数据库中获取数据。在editlink.blade.php
try {
for(var count=0; count < data.length; count++)
{
html +='<tr >';
html +='<td contenteditable class="column_name" data-column_name="link_name" data-id="'+data[count].id+'">'+data[count].name+'</td>';
html += '<td contenteditable class="column_name" data-column_name="link_add" data-id="'+data[count].id+'">'+data[count].Address+'</td>';
html += '<td contenteditable class="column_name" data-column_name="link_type" data-id="'+data[count].id+'">' +
'<select id="opttypes" value="'+data[count].id+'">' +
'<option id="opt1"'+ check_selected1(data[count].type)+' value="1"'+' >'+d1+'</option>' +
'<option id="opt2"'+ check_selected2(data[count].type)+' value="2"'+' >'+d2+'</option>' +
'<option id="opt3"'+ check_selected3(data[count].type)+' value="3"'+' >'+d3+'</option>' +
'<option id="opt4"'+ check_selected4(data[count].type)+' value="4"'+' >'+d4+'</option>' +
'</select>' +
'</td>';
html += '<td><button type="button" class="btn btn-danger btn-xs delete" id="'+data[count].id+'">Delete</button>' +
'<button type="button" class="btn btn-success btn-xs edite" id="'+data[count].id+"_"+count+'">Update</button></td></tr>';
}
$('tbody').html(html);
}// end try
catch (e) {
document.getElementById("demo").innerHTML = "error accrue in fetch form DB ";
}
说明第一部分:
1) 数据是来自 Ajax 的支持变量,包括 DB 中的 weblinks 表。2)编辑按钮中的展开计数用于引用表格中的行,然后获取单元格的内容。
第二部分:editlink.blad.php中编辑按钮的java代码
$(document).on('click', '.edite', function(){
var allid=$(this).attr("id").split("_");// try to access id of data and number of row in HTML table
var id2=allid[0];// fetch ID of data in DB
var countRow=Number(allid[1])+2;// calculate detected row that user clicked.
var link_name = document.getElementById("html_table").rows[countRow].cells.item(0);// gets links name
var link_add =document.getElementById("html_table").rows[countRow].cells.item(1);// gets link address
var link_type=$("#link_type :selected").val();// gets which option user clicked.
if(link_name != '' && link_add != '' && link_type!='' )
{
if(!confirm("Do you want to edit this row")) {
return false;
}
try
{
$.ajax({
url:"{{ route('weblink.update_data') }}",
method:"POST",
data:{link_name:link_name, link_add:link_add, link_type2:link_type, id:id, _token:_token},
success: function(data){ // What to do if we succeed
if(data == "success")
$('#message').html(data);
},
error: function(data){
alert('Error'+data);
}
})
}
catch (e) {
$('#message').html("<div class='alert alert-danger'>error in receiving data from Ajax </div>");
}
}// end if check empty box
else {
$('#message').html("<div class='alert alert-danger'>Both Fields are required</div>");
}
});
说明这部分
1)当我点击更新按钮选项标签显示-1表示第一个选项没有用。我使用此代码使添加按钮正常工作,但我不知道为什么此功能不起作用。
第三部分:控制器中的功能
function update_data(Request $request)
{
if($request->ajax())
{
weblink::where('id', $request->id)->update([
'name' => '$request->link_name',
'Address'=>'$request->link_add',
type=>'$request->link_type2'
]);
echo '<div class="alert alert-success">Data Updated</div>';
}
}
说明这部分
1) Weblink 是模型
第四部分:用于更新的web.php
Route::post('/weblink/update_data', 'weblinksController@update_data')->name('weblink.update_data');
对不起各位,我知道我的代码很无聊。如果可能的话帮助我。如果每个人都喜欢请给我你的邮件,我将完整地发送我所有的代码(视图、控制器和网络)。
此致。
解决方案
推荐阅读
- r - 为什么微基准的第一次运行总是最慢的?
- c++ - 为什么修改超出范围的 std::string 不会导致运行时错误?
- azure - Azure ARM 错误“ResourceReferenceUsesWrongSubscriptionId”
- curl - telnet 后关闭 curl 连接
- r - pdp plotPartial 无法更改 zlim
- c# - 如何在 xaml 和 wpf 中将菜单项与 observableCollection 绑定?
- c++ - C++ 使用参数返回指针 - 不同指针类型之间的比较缺少强制转换
- graphql - 将 graphql 发送到 Restsharp 自动化中的 Post 正文
- powershell - Powershell 构建损坏的路径
- c# - Blazor 获取对单击元素的引用