在laravel中编辑单选按钮

时间:2017-10-23 03:35:06

标签: php laravel radio-button

我正在尝试使用单选按钮编辑数据但是每当我尝试编辑它时,结果返回都是空白的。我搜索了与他相似的其他人,但它仍然无法工作(例如:Edit Radio Button / Dropdown list

我可以在这里做错了吗?

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

"gender" => null

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

这是我的代码:

  <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>

控制器:

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');
}

3 个答案:

答案 0 :(得分:4)

问题是您还没有在表单中选择任何选项。我建议你将选项包装在select标签内。您必须使用if语句(条件将在此处查找)检查值是否为true然后打印出check =&#34; checked&#34;表示选中了单选按钮。
这是代码:

下拉列表

<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>

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

  <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>