Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将复选框值传递给laravel控制器_Javascript_Jquery_Laravel_Forms - Fatal编程技术网

Javascript 将复选框值传递给laravel控制器

Javascript 将复选框值传递给laravel控制器,javascript,jquery,laravel,forms,Javascript,Jquery,Laravel,Forms,我需要使用jQuery获取复选框的值,并将其传递给我的Laravel控制器,以便将该值存储在数据库中 我需要值为真或假/1或0。。。不能为空 如何将复选框值传递到数据库 下面是复选框: <input type="checkbox" value="true" name="cats" id="cat" checked> function updateExtraFields(fieldName, selector) { $('form input[name="' + fieldN

我需要使用jQuery获取复选框的值,并将其传递给我的Laravel控制器,以便将该值存储在数据库中

我需要值为真或假/1或0。。。不能为空

如何将复选框值传递到数据库

下面是复选框:

<input type="checkbox" value="true" name="cats" id="cat" checked>
function updateExtraFields(fieldName, selector) {
    $('form input[name="' + fieldName + '"]').val($(selector).val());
}

$('#cat').on('click', function() {
    updateExtraFields('cats', '#cat').prop('checked');
 });

$('#dog').on('change', function() {
    updateExtraFields('dogs', '#dog');
});

$('#bird').on('change', function() {
    updateExtraFields('birds', '#bird');
});

//Something else I was trying... $("#cat").attr("checked") ? 1 : 0;
$xxxx->table_name()->create([
    'cats' => $request->cats === 'true',
    'dogs' => $request->dogs,
    'birds' => $request->birds,
]);
控制器:

<input type="checkbox" value="true" name="cats" id="cat" checked>
function updateExtraFields(fieldName, selector) {
    $('form input[name="' + fieldName + '"]').val($(selector).val());
}

$('#cat').on('click', function() {
    updateExtraFields('cats', '#cat').prop('checked');
 });

$('#dog').on('change', function() {
    updateExtraFields('dogs', '#dog');
});

$('#bird').on('change', function() {
    updateExtraFields('birds', '#bird');
});

//Something else I was trying... $("#cat").attr("checked") ? 1 : 0;
$xxxx->table_name()->create([
    'cats' => $request->cats === 'true',
    'dogs' => $request->dogs,
    'birds' => $request->birds,
]);
更新/回答 我最终解决了我的问题。我需要创建一个隐藏字段来将复选框值传递给,然后我可以将其存储在数据库中

<input type="checkbox" value="" name="cats" id="cat" checked>

<input type="hidden" value="" name="cats" id="hidden_check">
这段代码对我有用,但如果有更简洁的方法来编写,请告诉我

$xxxx->table_name()->create([
  'cats' => $request->cats == 'true' ? 'true' : 'false',
  'dogs' => $request->dogs,
  'birds' => $request->birds,
]);

如果
$request->cats
等于'true',则需要
true
作为
cats
的值。如果有任何其他值,它将是
false
。希望这能起作用。

您可以使用Ajax将值传递给控制器。下面的代码演示了如何做到这一点

var catStatus=$('input[name="cats"]:checked');  // get the value of the checkbox

/*Now make the ajax call*/
$.ajax({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    },
    url: '/sendcatStatus',
    datatType : 'json',
    type: 'POST',
    data: {
        status: catStatus
    },
    success:function(response) {
        alert(response);
    }
});

/*Laravel route*/
Route::post('/sendcatStatus','ControllerName@methodName');

/*Your Contoller Method */

public function methodName(Request $request){

    dd($request->input('status'));
}

我已经显示了一个复选框。类似地,您可以使用ajax调用发送多个数据。

通过使用ajax,您可以发送数据