当网格可编辑时,在输入方法时只接受数字吗?
JSP网格加载代码:
<s:url id="mobbillid" action="newmul_mob_gridact" />
<sjg:grid caption="EMPLOYEE MOBILEBILL DETAILS"
gridModel="mobbill_gridModel"
height="200"
href="%{mobbillid}"
id="gridtab"
cellEdit="true"
cellurl="%{mobbillid}"
rownumbers="true"
viewrecords="true"
pager="true"
pagerPosition="center"
navigator="true"
navigatorSearch="true"
navigatorSearchOptions="{multipleSearch:true}"
navigatorDelete="false"
navigatorEdit="false"
loadonce="true"
rowNum="10000"
multiselect="true"
reloadTopics="reloadSearchedClaims"
footerrow="false"
userDataOnFooter="true"
onSelectRowTopics="rowselect"
>
<sjg:gridColumn name="newsin_mob_faname" index="newsin_mob_faname" title="FAcode" width="100" />
<sjg:gridColumn name="newsin_mob_name" index="newsin_mob_name" title="FANAME" width="100" />
<sjg:gridColumn name="newsin_mob_no" index="newsin_mob_no" title="MOBNO" width="100" />
<sjg:gridColumn name="newsin_mob_billno" index="newsin_mob_billno" title="BILLNO" width="40" editoptions="true" editable="true" />
<sjg:gridColumn name="newsin_mob_billamt" index="newsin_mob_billamt" title="BILLAMT" width="90" editable="true" />
<sjg:gridColumn name="newsin_mob_othchrg" index="newsin_mob_othchrg" title="OTHCHRG" width="95" editable="true" />
<sjg:gridColumn name="newsin_mob_psts" index="newsin_mob_psts" title="refid" width="70" align="right" hidden="true"/>
<sjg:gridColumn name="newsin_mob_rmrk" index="newsin_mob_rmrk" title="REMARK" width="75" align="right" editable="true"/>
<sjg:gridColumn name="newsin_mob_opnbal" index="newsin_mob_opnbal" title="OPNBAL" width="75" align="right" hidden="true"/>
</sjg:grid>
答案 0 :(得分:1)
您可以使用一些jquery来处理这个问题,请查看此问题:http://jsfiddle.net/yrshaikh/44pc78pj/
你可以让你的可编辑文本框有一个名为.allownumericwithdecimal
的类,并使用下面的代码
$(".allownumericwithdecimal").on("keypress keyup blur",function (event) {
$(this).val($(this).val().replace(/[^0-9\.]/g,''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
如果您的动态添加了网格的文本框,则需要执行类似这样的操作
$(document).on('keypress keyup blur', '.allownumericwithdecimal', function () {
$(this).val($(this).val().replace(/[^0-9\.]/g, ''));
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
答案 1 :(得分:1)
Jsp代码:
<s:url id="mobbillid" action="newmul_mob_gridact" />
<sjg:grid caption="EMPLOYEE MOBILEBILL DETAILS"
gridModel="mobbill_gridModel"
height="200"
href="%{mobbillid}"
id="gridtab"
cellEdit="true"
cellurl="%{mobbillid}"
rownumbers="true"
viewrecords="true"
pager="true"
pagerPosition="center"
navigator="true"
navigatorSearch="true"
navigatorSearchOptions="{multipleSearch:true}"
navigatorDelete="false"
navigatorEdit="false"
loadonce="true"
rowNum="10000"
multiselect="true"
reloadTopics="reloadSearchedClaims"
footerrow="false"
userDataOnFooter="true"
onSelectRowTopics="rowselect"
>
<sjg:gridColumn name="newsin_mob_faname" index="newsin_mob_faname" title="FAcode" width="100" />
<sjg:gridColumn name="newsin_mob_name" index="newsin_mob_name" title="FANAME" width="100" />
<sjg:gridColumn name="newsin_mob_no" index="newsin_mob_no" title="MOBNO" width="100" />
<sjg:gridColumn name="newsin_mob_billno" index="newsin_mob_billno" title="BILLNO" width="40" editoptions="true" editable="true" editrules="{number:true}"/>
<sjg:gridColumn name="newsin_mob_billamt" index="newsin_mob_billamt" title="BILLAMT" width="90" editable="true" edittype="text" editrules="{number:true}"/>
<sjg:gridColumn name="newsin_mob_othchrg" index="newsin_mob_othchrg" title="OTHCHRG" width="95" editable="true" editrules="{number:true}"/>
<sjg:gridColumn name="newsin_mob_psts" index="newsin_mob_psts" title="refid" width="70" align="right" hidden="true"/>
<sjg:gridColumn name="newsin_mob_rmrk" index="newsin_mob_rmrk" title="REMARK" width="75" align="right" editable="true" />
<sjg:gridColumn name="newsin_mob_opnbal" index="newsin_mob_opnbal" title="OPNBAL" width="75" align="right" hidden="true"/>
</sjg:grid>
使用editrules =&#34; {number:true}&#34;
当焦点出来时触发它,如果它的字母表显示错误信息