2016-10-28 48 views
0

您好,我有以下复选框如果与Dropbox的条款

 <div class="checkbox"> 
      <label for="sendEmail"> 
       <g:checkBox name="sendEmail" checked="${sendEmail == 'on'}" 
       onchange="swapFieldsets(this, '#sa-email', '#sa-password')" /> 
       <g:message code="onBoard.noAccessEmail" default="Send Access Email" /> 
      </label> 
     </div> 

,如果是开/关它这样做:

<fieldset id="sa-email" ${raw(sendEmail == "on" ? "" : "class='hidden' disabled")}> 

     <g:render template="businessEmailFields" bean="${pEmail}" /> 
    </fieldset> 
    <fieldset id="sa-password" ${raw(sendEmail != "on" ? "" : "class='hidden' disabled")}> 

    <g:render template="homeEmailFields" bean="${pEmail}" /> 
    </fieldset> 

现在我想用这个替换它清除该复选框 并保持相同的逻辑

<g:select name="book.category" from="${['Choice1', 'Choice2']}" 
       /> 

,如果我们从菜单中选择1选择渲染

<g:render template="homeEmailFields" bean="${pEmail}"/> 

,如果我们选择选择2来渲染其他页面

总之我想:我只是想删除的复选框,并用具有选项“选择1”和“选择2下拉菜单更换'。你可以看到与hitbox如果它是我们应该呈现一个页面,现在我不想chech如果它是我想检查,如果我们已经从下拉菜单中选择'Choice1'

+0

能否请您添加一个明确的问题陈述?目前,我不明白你在问什么。 – evolutionxbox

+0

是的,我只想删除复选框,并将其替换为具有选项'Choice1'和'Choice2'的下拉菜单。并且您可以使用hitbox查看是否显示页面,现在我不显示我想要检查我们是否从下拉菜单中选择了'Choice1' – Lara

+0

我会说这是一种相当奇怪的做事方式,通常你会通过onChange或jquery捕获更改方法然后在div内的模板中使用ajax加载。你看到检查gsp(grails)中的复选框的值而不是javascript。 – Vahid

回答

0

正如我在我的评论中提到的,通常你有一个select box

<g:select class="form-control small" name="adminButtons" from="${adminButtons}" 
noSelection="${['':"${g.message(code:'queuekit.chooseAdminAction.label')}"]}" 
    valueMessagePrefix="queuekit.adminButton"/> 

然后把它称为through jquery但你会再change that to

$('#adminButtons').on('change', function() { 
     var value = $('#adminButtons').val(); 
     if (value!='') { 
      var params=$.param({changeType:value});   
      var url='${createLink(controller:'queueKit',action:'changeConfig')}?'+params 
      $.ajax({ 
      type: 'POST', 
      url: url, 
      //data: $('#search').serialize(), 
      success: function(data){ 
       //Where #results id the DIV id that the template is loaded 
       //into which would be your template you are loading 
       $('#results').html(data); 
      } 
     }); 
     } 
    }); 

但随后未尝试通过GSP来查找实际值改变GSP - 你的GSP然后将通过Ajax调用加载控制器加载了一个模板,这将是你的模板......

你是怎么做的事情,所以有点不同,但通常是如何相互作用的JavaScript完成