在 Laravel 中编辑单选按钮

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/46881586/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 16:51:25  来源:igfitidea点击:

Editing radio button in laravel

phplaravelradio-button

提问by blastme

I am trying to edit data using radio button but whenever I try to edit it, the result return are blank. I have search for other people post similar to his but it still doesn't work (eg: Edit Radio Button / Dropdown list)

我正在尝试使用单选按钮编辑数据,但是每当我尝试编辑它时,结果返回都是空白的。我搜索过与他类似的其他人的帖子,但仍然无效(例如:编辑单选按钮/下拉列表

Could I have done something wrong here?

我可能在这里做错了什么吗?

When I used the dd function on it, it will just return me this:

当我在其上使用 dd 函数时,它只会返回给我:

"gender" => null

But previously I used this I can get my result <input type="text" name="gender" value="{{ $object->gender }}" class="form-control">

但以前我用过这个我可以得到我的结果 <input type="text" name="gender" value="{{ $object->gender }}" class="form-control">

Here is my code:

这是我的代码:

  <form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
          {{ method_field('PUT')  }}
          {{ csrf_field() }}

          <label class="col-md-2">Gender:</label>
            <div class="col-md-6">
             <input type="radio" name="gender" value="{{$object->male}}"> Male<br>
             <input type="radio" name="gender" value="{{$object->female}}"> Female<br>              
            </div>
      <div class="form-group">
        <div class="col-md-6-offset-2">
          <input type="submit" class="btn btn-primary" value="Save">
        </div>
      </div>

    </form>

Controller:

控制器:

public function edit($id){
    $object = user_info::find($id);

    return view('edit', compact('object'));

}

public function update(Request $request, $id){
    $object = user_info::find($id);
     $object->gender = $request->input('gender');

    //$object->update();
dd($object);
    return redirect('/home');
}

回答by MalemScha

The problem is you haven't selected any option in your form. I would suggest you to wrap the options inside select tag. You have to use an if statement (conditional will work find here) that checks if a value is true then print out checked="checked" which indicates the radio button is selected.
Here's the code:

Dropdown

问题是您没有在表单中选择任何选项。我建议您将选项包装在 select 标签中。您必须使用 if 语句(条件将在此处找到)来检查值是否为真,然后打印出已检查的 =“已检查”,这表明单选按钮已被选中。
这是代码:

下拉

<form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
          {{ method_field('PUT')  }}
          {{ csrf_field() }}

          <label class="col-md-2">Gender:</labe
            <div class="col-md-6">
              <select name="gender" id="gender" class="form-control" required>
                 <option value="">Choose....</option>
                 <option value="Male" {{ $object->gender == 'Male' ? 'selected' : ''}}>Male</option>
                 <option value="Female" {{ $object->gender == 'Female' ? 'selected' : ''}}>Female</option>                                                         
              </select>            
            </div>
      <div class="form-group">
        <div class="col-md-6-offset-2">
          <input type="submit" class="btn btn-primary" value="Save">
        </div>
      </div>

    </form>

Radiobutton

单选按钮

<form class="form-horizontal" method="post" action="{{ url('/user/show/'.$object->id) }}">
          {{ method_field('PUT')  }}
          {{ csrf_field() }}

          <label class="col-md-2">Gender:</labe
            <div class="col-md-6">
                 <input type=radio name="Gender" value="Male" {{ $object->gender == 'Male' ? 'checked' : ''}}>Male</option>
                 <input type=radio name="Gender" value="Female" {{ $object->gender == 'Female' ? 'checked' : ''}}>Female</option>            
            </div>
      <div class="form-group">
        <div class="col-md-6-offset-2">
          <input type="submit" class="btn btn-primary" value="Save">
        </div>
      </div>

    </form>

回答by parker_codes

<div class="col-md-6">
     <input type="radio" name="gender" value="male"> Male<br>
     <input type="radio" name="gender" value="female"> Female<br>              
</div>

The use of an object may not be your best approach here. I would use the static String values of "male" and "female". Hereis a guide on a Laravel approach to radio buttons for gender.

在这里使用对象可能不是您的最佳方法。我会使用“男”和“女”的静态字符串值。是关于 Laravel 方法的性别单选按钮指南。

回答by ravi darji

  <div class="form-group"> 
                <input name="gender" id="gender" value="male" type="radio" />Male        
              <input name="gender" id="gender" value="female" type="radio" />Female

       <script type="text/javascript">
         document.forms['form'].elements['gender'].value='{{$register->gender}}'

       </script>