Grails如果检查html选择值

时间:2014-08-20 10:40:31

标签: javascript ajax grails

我在使用grails检查select / grails select标签值时遇到问题。我的代码看起来像这样, HTML:

<select id="select1" name="select1">
    <option value=2>2</option>
    <option value=3>3</option>
</select>

或grails选择:

<g:select id="select1" name="select1" from="${[2, 3] }" value="2"/>

和grails if:

...
<g:each var="rowNumber" in = "${0..5}">
    <g:if test="${rowNumber} < ${select1.value}"> <!-- or ${select1.val()} or select1.value --> 
        ...
    </g:if>
</g:each>...

代码抛出NullPointerException,并说select1是一个null对象,他不能计算方法val(),或者不能获取属性值。 任何人都知道我应该怎么做才能解决这个问题? 谢谢你的帮助!

修改

在我的if语句中,我有一个渲染模板,当我更改select的值时,我想再次渲染这个模板,但保存我已经在那里输入的内容(例如,如果我的模板中有文本字段)。

EDIT2

我搞砸了一下。我想创建一个动态表,例如在开始时它可以有2行&amp;列,然后我希望能够放大/减少行/列的数量(例如通过单击按钮/按钮)当然通过单击按钮,我想在ajax中保存已填充的表,然后使用新的行数渲染表/列,并用之前的值填充早期填充的单元格(新单元格将为空)。 例如 填表2x2

a a
a a

当我将此表放大到3x2时,我希望表格看起来像这样:

a a
a a
_ _

其中_是一个空单元格。

1 个答案:

答案 0 :(得分:0)

由于您希望在客户端工作,因此您只需使用Javascript

function checkRows(rowNumber) 
{ 
    var value= $('#select1').val(); 
    return rowNumber < elem;
}

如果要在选择值更改时触发该功能,请使用

$(document).ready(function () { 
   $('#select1').change(function() {
       checkRows(34 /* use your value here */);
   }); 
});