2017-10-11 55 views
1

我有一个小问题。 最后一些代码正在工作,但只有第一个可用的复选框。 它应该提交表单,但是只能用一个。Javascript复选框onclick只与顶部

使用的JavaScript:

<script type=\"text/javascript\"> 
    $(document).ready(function() { 
     $('#opties').on('click', function(){ 
       if($(this).is(':checked')) { 
         $('#frm').submit(); 
        } 
     }); 
    }); 
</script> 

使用PHP复选框表单项

<li class="list-group-item"><input type="checkbox" id="opties" name="opties_in[]" value="2240" checked > Item 2240</li> 

<li class="list-group-item list-group-item-info"><input type="checkbox" id="opties" name="opties_in[]" value="2251" >Item 2251</li> 

<li class="list-group-item"><input type="checkbox" id="opties" name="opties_in[]" value="2252" >Item 2252</li> 

<li class="list-group-item list-group-item-info"><input type="checkbox" id="opties" name="opties_in[]" value="2250" >Item 2250</li> 

第二个问题,供以后;-),是它需要做的onchange做的动作,而不是点击。但这应该很容易。

+0

'id'总是唯一的,在你的情况下,所有的复选框都有相同的ID –

+0

哪里是PHP的一部分? – Epodax

回答

0

你应该使用,而不是一个 '身份证' '类' 试图通过类= “opties” 修改ID = “opties”

$('.opties').on('click', function(){ 
       if($(this).is(':checked')) { 
         $('#frm').submit(); 
        } 
     }); 
0

你的HTML是无效的。使用a validator

一个id必须是唯一在文档中。

要标识一组相关元素,请使用class属性和类别选择器(以.开头)。


复选框不是人们期望提交表单的UI控件。您应该强烈考虑使用提交按钮。

例如

<button name="opties_in[2240]" value="turn off"> Item 2240 </button> 

这将消除对JavaScript的需求。