javascript - 如何在jqGrid单元格编辑中只允许数字?

标签 javascript jsp jqgrid

当网格可编辑时,输入时只接受数字怎么办?

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>  

最佳答案

你可以使用一些jquery来处理这个问题,检查这个 fiddle :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();
    }
});

关于javascript - 如何在jqGrid单元格编辑中只允许数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26376314/

相关文章:

javascript - dc.js 气泡图上仅显示结束刻度线

javascript - 在页面上包含 Facebook 事件会引发错误

java - 如何将对象从获取 Controller 提交到后置 Controller ?

java - 将图像转换为 byteArray 并保持颜色

java - 如何使用 Liferay MVC Portlet 准备 View jsp

jqGrid 添加项目复选框字段默认为选中

jquery - jqGrid 换行文本内联编辑

javascript - 随着图像更改或动画更改文本颜色

javascript - 如何在 jqGrid 中填充哪些单元格未被编辑的单元格

javascript - 重新定位 contenteditable div 的光标