2015-11-17 5 views
1

Я написал код, который отправляет электронное письмо выбранным людям с помощью флажка, теперь мне нужно добавить кнопку «Выбрать все» и «Очистить все», чтобы все флажки выбранный/DIS выбран.Как выбрать и очистить все флажки с помощью Laravel

Вот мой код:

Мой контроллер:

public function display(){ 
     $data = Input::get('agree'); 
     $count = count ($data); 
     $this->contact($data); 
     return view('clientinfo.display', compact('data','count')); 
    } 

Мой Вид:

@extends('app') 
@section('content') 

    <h1>Welcome! Send e-mail to selected people.</h1> 
    <hr> 
    {!! Form::open(array('action' => '[email protected]','method' => 'GET'))!!} 
     @foreach($clients as $client) 
      {!! Form::checkbox("agree[]", $client->email, null,['id' => $client->email]) !!} 
       <article> 
        {{ $client->user_name }} 
        &nbsp; 
        {{ $client->email }} 

       </article> 
     @endforeach 
     {!! Form::submit('Send Mail',['class' => 'btn btn-primary form-control']) !!} 

    {!! Form::close() !!} 
    <br/> 
    @include('clientinfo.newmember') 
@stop 

если я добавить кнопку на мой взгляд, называя выбор, все и ясно, все как я связываю их, чтобы выбрать всех членов в списке?

ответ

0

Я внес изменения в свой код и он работал, используя JavaScript.

Вот мой код:

@extends('app') 
@section('content') 

    <h1>Welcome! Send e-mail to selected people.</h1> 
    <hr> 
    {!! Form::open(array('action' => '[email protected]','method' => 'GET','name'=>'f1' , 'id'=>'form_id'))!!} 
    <br/> 
     @foreach($clients as $client) 
      <div class="form-group"> 
      {!! Form::checkbox("agree[]", $client->email, null,['id' => $client->email], ['class' => 'questionCheckBox']), $client->email !!} 
      <br/> 
      </div> 
     @endforeach 
    <div class="form-group"> 
    {!! Form::submit('Send Mail',['class' => 'btn btn-primary form-control']) !!} 
    </div> 

    <div class="form-group"> 
    {!! Form::button('Select All',['class' => 'btn btn-info form-control','onClick'=>'select_all("agree", "1")']) !!} 
    </div> 

    <div class="form-group"> 
    {!! Form::button('Clear All',['class' => 'btn btn-danger form-control','onClick'=>'select_all("agree", "0")']) !!} 
    </div> 

    {!! Form::close() !!} 
@stop 
@endsection 

И в моем мастер-файл, я добавил JavaScript:

<script type="text/javascript"> 

    var formblock; 
    var forminputs; 

    function prepare() { 
     formblock= document.getElementById('form_id'); 
     forminputs = formblock.getElementsByTagName('input'); 
    } 

    function select_all(name, value) { 
     for (i = 0; i < forminputs.length; i++) { 
      // regex here to check name attribute 
      var regex = new RegExp(name, "i"); 
      if (regex.test(forminputs[i].getAttribute('name'))) { 
       if (value == '1') { 
        forminputs[i].checked = true; 
       } else { 
        forminputs[i].checked = false; 
       } 
      } 
     } 
    } 

    if (window.addEventListener) { 
     window.addEventListener("load", prepare, false); 
    } else if (window.attachEvent) { 
     window.attachEvent("onload", prepare) 
    } else if (document.getElementById) { 
     window.onload = prepare; 
    } 
</script> 

Раньше я делал это с помощью Jquery, что не работает, то я попытался использовать JavaScript, и это сработало. Я пробовал различные способы добавить jquery в свой код, которые приведены в ответах stackoverflow.com, но ничего не работало в laravel. Если кто-нибудь знает, как использовать jquery в laravel, пожалуйста, оставьте комментарий.

0

Вы можете задать флажки класса и использовать jquery. Вам также нужен флажок, который говорит «выбрать все» с идентификатором.

$(function() { 

    $('#selectAll').click(function() { 
     if ($(this).prop('checked')) { 
      $('.your_checkbox_class').prop('checked', true); 
     } else { 
      $('.your_checkbox_class').prop('checked', false); 
     } 
    }); 

}); 

PS: Код не тестируется

+0

@Kiwi_Juicer: Можете ли вы рассказать мне, как использовать jquery в laravel? – Shweta

+0

Извините за поздний ответ. Вы должны просто включить библиотеку в соответствии с этим сообщением: http://stackoverflow.com/questions/32498328/how-to-add-jquery-in-laravel-project – KiwiJuicer

Смежные вопросы