Как я могу получить выбранное значение в элементе select dom [Laravel] - PullRequest
0 голосов
/ 30 мая 2020

Может ли кто-нибудь сказать мне, как я могу получить выбранное значение, когда я пытаюсь редактировать сообщение в проекте Laravel. Вот части кода

Сообщение. php:

public function category(){
    return $this->belongsTo('App\Category');
}

Категория. php:

public function posts(){
    return $this->hasMany('App\Post');
}

PostController. php:

 $post = Post::findOrFail($id);
 $categories = Category::all();
 $tags = Tag::all();
 return view('admin.posts.edit', ['post' => $post, 'categories' => $categories, 'tags' => $tags]);

posts / edit.blade. php:

<div class="form-group">
        <label for="category_id">Selecet category</label>
        <select name="category_id" id="category_id" class="form-control">
            <option disabled>List of available post categories</option>
            @foreach($categories as $category)

                <option value="{{ $category->id }}" {{$category->id == $category->id ? 'selected' : '' }}>{{ $category->name }}</option>

            @endforeach
        </select>
    </div>

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Проблема решена с помощью этой части кода (для будущих пользователей, которые прочтут это :))

@foreach($categories as $category)

    <option value="{{ $category->id }}"

        @if($post->category->id == $category->id)

           selected

        @endif

    >{{ $category->name }}</option>

@endforeach
0 голосов
/ 30 мая 2020

Как упоминалось в @Hardood. $category->id == $category->id всегда будет возвращать истину. Фактически, если вы просто хотите получить значение от отправки формы. Вы можете просто удалить это. HTML будет обрабатывать выбранное значение самостоятельно.

Вы можете просто использовать $request->category_name в своем бэкэнде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...