2015-04-05 82 views
0

当复选框打开时,我想在gsp代码中显示一些输入字段。我使用jquery。 我连接jQuery脚本到GSP如下:在Grails中执行gquery中的jquery代码

<g:javascript library="jquery" /> 
<script type="text/javascript">($('.isAdminCafee').click(function() { 
    $('.adminFields')[this.checked ? "show" : "hide"](); 
    });) 
</script> 

这是我的我的GSP代码部分,与此代码jQuery的脚本必须互动:

<div class="checkbox"> 
    <label><g:checkBox name="isAdminCafee" value="${false}"/> 
    Register as admin 
    </label> 
</div> 
<div class="adminFields"> 
    hello) 
</div> 

但是相互作用不会发生。如何解决它?

回答

2

您的复选框的名称设置为isAdminCafee,而不是其类。您的jQuery选择器.isAdminCafee按类搜索,因此不匹配任何内容。

1

$(".adminFields").hide(); 
 
$('.checkbox input:checkbox').click(function() { 
 
    var $this = $(this); 
 
    if ($this.is(':checked')) { 
 
     $(".adminFields").show(); 
 
    } else { 
 
     $(".adminFields").hide(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<div class="checkbox"> 
 
    <label><input type="checkbox" name="isAdminCafee" value="false">Register as admin</label> 
 
</div> 
 
<div class="adminFields"> 
 
    hello) 
 
</div>

+0

它的工作原理,同时也为neccessary做复选框类名是格雷戈尔说彼得林和包装jQuery代码到$(文件)。就绪(函数(){...} – pragmus 2015-04-05 12:21:24

+0

是的,它应该包装到文档就绪部分中,但如果你在最后使用脚本部分,那么你不需要使用文档就绪部分。 – Ramsharan 2015-04-05 12:23:13

+0

@pragmus如果你使用上面的方法,你不需要为复选框添加类名代码。 – Ramsharan 2015-04-05 12:31:30