php 多开关开启更改复选框JavaScript

vu8f3i0k  于 5个月前  发布在  PHP
关注(0)|答案(1)|浏览(38)

表单的几个开关按钮是用JavaScriptlaravel编写的,我想保存到数据库中。
我的剑:

<form action="{{ route('admin.settings.post') }}" method="POST">

<label class="switch">
<input class="id-target" onchange="click_switch(this)" value="{{ $post }}" name="post" autocomplete="off" type="checkbox" @if($post == 'on') checked="" @endif>
<span class="slider round"></span>
</label>

<label class="switch">
<input class="id-target" onchange="click_switch(this)" value="{{ $product }}" name="product" autocomplete="off" type="checkbox" @if($product == 'on') checked="" @endif>
<span class="slider round"></span>
</label>

<label class="switch">
<input class="id-target" onchange="click_switch(this)" value="{{ $course }}" name="course" autocomplete="off" type="checkbox" @if($course == 'on') checked="" @endif>
<span class="slider round"></span>
</label>

<button class="btn" type="submit">save</button>

</form>

<script>
function click_switch(el){
    if(el.checked){
        $(".id-target").val("on");
    }else{
        $(".id-target").val("");
    }
}
</script>

字符串
样品:

switch 1 : on/off  ---> off
switch 2 : on/off  ---> on
switch 3 : on/off  ---> off


当我单击第一个开关,然后单击保存选项时,第二个开关打开。

switch 1 : on/off  ---> on
switch 2 : on/off  ---> on
switch 3 : on/off  ---> on


问题是他们一起保存

kqqjbcuj

kqqjbcuj1#

问题是你的查询选择了所有的按钮,因为你使用了一个类选择器。

function click_switch(el){
  el.value = el.checked ? ‘On’ : ‘’
}

字符串
然而,你不需要JS,因为on是复选框的默认值。当选中时,值将是on,当它未选中时,值将是空的。当你在复选框上设置value属性时,它只是将on替换为选中的值。未选中的输入总是返回空字符串。

相关问题