【发布时间】:2021-07-11 23:25:46
【问题描述】:
我在控制器中编写 HTML 代码
public function edit($id)
{
$user = User::find($id);
$rolesForEdit = Role::pluck('name', 'name')->all();
$userRole = $user->roles->pluck('name', 'name')->all();
$html = '<div class="row">
<div class="col-md-6">
<label for="name">Name</label>
<input value="' . $user->name . '" class="form-control"
placeholder="Full Name" type="text" name="name" id="name" />
<br>
<label for="phone">Phone Number</label>
<input value="' . $user->phone . '" class="form-control"
placeholder="Phone Number" type="text" name="phone" id="phone" />
<br>
</div>
<div class="col-md-6">
<label for="roles">Role</label><br>
<select style="width:220px;" name="rolesForEdit[]" multiple id="rolesForEdit"
class="rolesForEdit form-control"></select>
<br>
</div> <!-- kanan -->
</div> <!-- row-->';
return response()->json(['html' => $html]);
}
然后在视图中,我试图获取rolesForEdit id 并将其用于select2。它不适用于这种方式。有什么解决办法吗?
$.ajax({
url: "user/" + id + "/edit",
method: 'GET',
success: function(data) {
//var roles = $($.parseHTML(data)).find("#rolesForEdit").html();
//var roles = $(data).find('#rolesForEdit').text();
//var roles = $(this).attr('rolesForEdit');
//var roles = $($.parseHTML(data)).filter("#rolesForEdit");
alert(roles);
$(roles).select2({
ajax: {
url: '{{ url('searchrole') }}',
processResults: function(data) {
return {
results: data.map(function(item) {
return {
id: item.id,
text: item.name
}
})
}
}
}
});
$('#dataUserElement').html(data.html);
$('#saveBtn').val("create-product");
$('#user_id').val('');
$('#productForm').trigger("reset");
$('#modelHeading').html("Update User");
$('#ajaxModel').modal('show');
}
});
});
【问题讨论】:
-
您是否在开发者控制台中看到任何错误?
-
没有错误,但有时结果为空、未定义或
object Object -
附加从 ajax 调用返回的 html,然后初始化你的 select2 。
-
@Swati:你能给我写更具体的代码吗?
标签: php jquery laravel jquery-select2