Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 onclick表单提交不使用prettycheckable样式的复选框/收音机_Javascript_Jquery - Fatal编程技术网

Javascript onclick表单提交不使用prettycheckable样式的复选框/收音机

Javascript onclick表单提交不使用prettycheckable样式的复选框/收音机,javascript,jquery,Javascript,Jquery,我有一些表单,它们有定制样式的复选框和单选按钮,并带有prettycheckable(来自) 我正试图让它像这样工作,以便它在选中复选框或收音机时自动提交表单 <script type"text/javascript"> $(":checkbox").click(function() { $(this).closest("form").submit(); }); </script> $(“:复选框”)。单击(函数(){ $(this).最近的(“表单”).subm

我有一些表单,它们有定制样式的复选框和单选按钮,并带有prettycheckable(来自)

我正试图让它像这样工作,以便它在选中复选框或收音机时自动提交表单

<script type"text/javascript">
$(":checkbox").click(function() {
  $(this).closest("form").submit();
});
</script>

$(“:复选框”)。单击(函数(){
$(this).最近的(“表单”).submit();
});


$(“:radio”)。单击(函数(){
$(this).最近的(“表单”).submit();
});
但当它被点击时,绝对不会发生任何事情。我想这可能是因为实际的复选框被样式化的span替换为prettycheckable。我怎么才能捕捉到“咔嗒”声呢

更新:

我试过这个:

<script type"text/javascript">
$(":checkbox").on('change', function() {
  $(this).closest("form").submit();
});
</script>

$(“:复选框”)。在('change',function()上{
$(this).最近的(“表单”).submit();
});
但它也不起作用。我有一种感觉,我很接近,但我不太擅长jQuery

这里似乎有人也有同样的问题:

以上这些对他们有效…也许我在某个地方有个小错误

还有一个更新:

下面是我正在使用的相同标记的JSFIDLE:)


我刚刚检查了prettycheckable源代码-如果您使用它就像他们在主页上提供的一样,那么输入(无论是radiobox还是checkbox)都是样式化的

只要检查控制台,上面的答案对我有用。我刚刚为包含表单的div添加了class=“test”,并添加了

$j(".test a").click(function() {
              console.log("click");
});  

当您使用例如Firebug进行检查时,您会注意到已设置样式的复选框已设置样式
应用
prettyCheckable()
更改html,包括隐藏复选框并将其包含在一个div中。html类似于

<div class="clearfix prettycheckbox labelleft  blue">
  <input type="checkbox" id="use_4" name="4" data-label="Hasbeens" value="1" checked="checked" style="display: none;">
  <label for="use_4">Hasbeens</label>
  <a href="#" class="checked "></a>
</div>

不幸的是,我的表单不是那样的……它们是标准表单HTML,不带“a href”。不知道标记不容易猜到。。你能用表单元素的标记更新你的问题吗?或者添加一个链接,链接上有一个漂亮的可检查表单的例子,这就是你使用它的方式吗?没有你的HTML,你到底希望我们如何帮助你?
$j(".test a").click(function() {
              console.log("click");
});  
<div class="clearfix prettycheckbox labelleft  blue">
  <input type="checkbox" id="use_4" name="4" data-label="Hasbeens" value="1" checked="checked" style="display: none;">
  <label for="use_4">Hasbeens</label>
  <a href="#" class="checked "></a>
</div>
$('.prettycheckbox').click(function() {
  var cb = $(this).find('input[type="checkbox"]');
  if (cb.is(':checked')) {
    $(this).closest("form").submit();
  }
});