Grails单选按钮显示隐藏的div与onclick

时间:2015-12-08 17:31:46

标签: javascript jquery html grails

我的_form.gsp中的单选按钮编码为

<table>
  <thead>
    ...
  </thead>
  <tbody>
    <g:each in="${locationList}" status="i" var="location">
      <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
        ...
        <td><g:radio name="location" value="${location.id}" onclick="showLocInfo(this)" checked="${false}" /></td>
      </tr>
    </g:each>
  </tbody>
</table>

我隐藏的div是

<div id="locationTable" style="display: none">
  <table style="width: 100%;">
    <tr>
      <td>HERES LOCATION INFORMATION</td>
    </tr>
  </table>
</div>

我的create.gsp包含一些当前无法正常工作的javascript

<head>
  ...
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script type="text/javascript">
    $(function() {
      $(".datepicker").datepicker();
    });

    jQuery.noConflict();

    function showLocInfo(elem){
      if (elem.checked == "true") { 
        document.getElementById('locationTable').style.display = "block";
      }
      if (elem.checked == "false") { 
        document.getElementById('locationTable').style.display = "none";
      }
    }
  </script>
</head>

日期选择器有效,但节目位置信息功能不起作用。我做错了什么?

1 个答案:

答案 0 :(得分:2)

showLocInfo中,elem.checked是布尔值,而不是字符串。由于您使用的是2 if个语句而不是if/else,因此不会执行任何块,从而导致无行为。

请尝试使用:

if (elem.checked === true) { 
    // ..