2016-01-18 28 views
-2

您好我已經擁有一個複選框和複選框的目的看法是根據品牌如何使用ajax從輸入中獲取數組值?

過濾產品

筆者認爲:

<li> 
    <label for="{{$brand->name}}" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect"> 
     <input type="checkbox" name="{{$brand->name}}" id="{{$brand->name}}" class="mdl-checkbox__input" data-value="{{$brand->id}}"> 
     <span class="mdl-checkbox__label">{{$brand->name}}</span> 
    </label> 
</li> 

當用戶點擊複選框,然後一個ajax呼叫轉至

AJAX代碼如下:

$('.filter-data input').on('click',function(){ 
    var dataValue = $(this).data('value'); 
    // alert(dataValue); 
    $.ajax({ 
     url: '/brands', 
     headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
     }, 
     type: 'post', 
     data: {'dataValue': dataValue}, 
     success: function(data, status) { 

     console.log(data.status); 
     if(data.status == "ok") { 
      // $('..promo-code').append('<span>'+data+'</span>') 
     } 
     }, 
     error: function(xhr, desc, err) { 
     console.log(xhr); 
     console.log("Details: " + desc + "\nError:" + err); 
     } 
    }); // end ajax 
});  

所以做一個POST請求在laravel我的控制器方法

public function listProductsByBrand(Request $request) 
{ 
    $data = $request->all(); 
    echo "<pre>"; 
    print_r($data); 
    die; 
} 

我想要實現的是,當用戶從複選框中檢查相應品牌時,我得到一個brand_id數組。

回答

0

首先更新您的看法一樣:

<li> 
<label for="{{$brand->name}}" class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect"> 
    <input type="checkbox" name="brand_name[]" id="{{$brand->name}}" class="mdl-checkbox__input" data-value="{{$brand->id}}" value="{{$brand->id}}"> 
     <span class="mdl-checkbox__label">{{$brand->name}}</span> 
              </label> 
             </li> 

後可變

值是把這些線在你的Ajax代碼

var values = new Array(); 
$.each($("input[name='brand_name[]']:checked"), function() { 
    values.push($(this).val()); 
    }); 

校驗值