Je travaille dans laravel et j'envoie beaucoup de données comprennent la liste déroulante qui ont une valeur, 0,1,2 qui signifie haut, droite, Gauche le problème est quand Im en utilisant la fonction de mise à jour dans le contrôleur seulement je reçois 0 ou 1 ou 2 dépend de ce que j'ai entré et doit actualiser pour voir le texte bcause Im en utilisant json et ajax après cliquez sur Enregistrer.Laravel- Comment utiliser commutateur case en javascript si je passais la variable au contrôleur et enregistré dans la base de données
Html
<select class="form-control" id="position_edit" name="position_edit">
<option value="0">TOP</option>
<option value="1">RIGHT</option>
<option value="2">LEFT</option>
<option value="3">BOTTOM</option>
</select>
contrôleur
public function updatebanner(Request $request)
{
if ($request->hasFile('image')) {
$imagename = time().'.'.$request->file('image')->getClientOriginalExtension();
$path =$request->file('image')->storeAs('/images', $imagename);
$post = Advertisement::findOrFail($request->id);
$post->adver_title = $request->title_edit;
$post->adver_url = $request->url_edit;
$post->adver_position = $request->position_edit;
$post->adver_photo = $imagename;
$post->save();
}
code ajax
$('.item' + data.id).replaceWith("
<tr class='item" + data.id + "'>
<td class='col1'>" + data.id + "</td>
<td><img src='images/" + data.adver_photo + "'style='width: 50%;margin-left: 35px;border-radius: 3px;border: 1px solid #1a2732;' /> </td>
<td>" + data.adver_title + "</td>
<td>" +data.adver_position+ "</td>
</td>
<td class='text-center'><input type='checkbox' class='edit_published' data-id='" + data.id + " '></td>
<td style='text-align:center;'>Right Now!</td>
<td><button class='show-modal btn btn-success' data-id='" + data.id + "' data-titlefield='" + data.adver_title + "' data-photofield='images/" + data.adver_photo + "'><span class='fa fa-eye'></span> Show</button> <button class='edit-modal btn btn-info' data-id='" + data.id + "' data-titlefield='" + data.adver_title + "' data-photofield='images/" + data.adver_photo + "'><span class='fa fa-pencil-square'></span> Edit</button> <button class='delete-modal btn btn-danger' data-id='" + data.id + "' data-titlefield='" + data.adver_title + "' data-photofield='images/" + data.adver_photo + "'><span class='fa fa-trash-o'></span> Delete</button></td>
</tr>
");
J'ai essayé d'utiliser le le code suivant mais le problème ne fonctionne pas si la valeur de adver_position enregistrée sur la base de données, il retournera en blanc sans numéro ou le texte et ont pour réactualiser la page pour voir le texte
var content = "<tr class='item" + data.id + "'> "
+ "<td class='col1'>" + data.id + "</td> "
+ "<td><img src='images/" + data.adver_photo + "'style='width: 50%;margin-left: 35px;border-radius: 3px;border: 1px solid #1a2732;' /> </td>"
+ "<td>" + data.adver_title + "</td>"
+ "<td> ";
switch(data.adver_position) {
case 0:
content = content + "TOP";
break;
case 1:
content = content + "RIGHT";
break;
case 2:
content = content + "LEFT";
break;
case 3:
content = content + "BOTTOM";
break;
}
content = content + "</td> </tr>"
$('.item' + data.id).replaceWith(content);
Pouvez-vous ajouter votre code de contrôleur? – Maraboc
Contrôleur ajouté, espoir trouver de l'aide –
Ok pourquoi n'utilisez-vous pas enum pour le champ 'adver_position' et dans l'utilisation select directement' '?? – Maraboc