代码中一些问题及解决方式

1.获取焦点,并使得焦点位置在末端(初始在开始)
原理:就是将原来的值置空之后复制进去

function submitFpcx(){
    layer.load();
    var fpdm=$("#fpdm_id");
    if(!(/^[0-9]{12}$/.test(fpdm.val().trim()))){
        layer.alert("发票代码错误", {icon: 2},function (index) {            
            var t=fpdm.val();     
            fpdm.val("").focus().val(t);   
        });    
    layer.closeAll('loading');
}}

2.循环出来的不确定个数的数据行,需要进行ajax操作,且需要传递的数值较多
解决:在每一行的操作按钮上绑定onclick方法,方法中绑定需要数据,在绑定的同时调用ajax方法

3.通过jQuery的$(“#id”).val()方法获取表单中数据时不准确(如“00000345”字符串被传递为int数,导致传递不准确):
解决:在方法中传递当前标签this,获取父标签,然后依次获取子标签里的文本内容

<foreach name="fpdxx" item="mx" key="k">
    <tr>
        <td class="hidden-xs">{$k+1}<if/></td>
        <td class="hidden-xs">{$mx.fpdm}</td>
        <td class="hidden-xs">{$mx.qshm}</td>
        <td class="hidden-xs">{$mx.zzhm}</td>
        <td class="hidden-xs">{$mx.fpfs}</td>
        <td class="hidden-xs">{$mx.syfs}</td>
        <td class="hidden-xs">{$mx.lgrq}</td>
        <td class="hidden-xs">{$mx.lgry}</td>
            <input type="text" id="fffs" name="fffs"/>
        </td>
        <td>
            <button onclick="getdata(this)">分发</button>
        </td>    
    </tr>
</foreach>
 function getdata(a){
     var tds = $(a).parents("tr:first").children();
      //获取信息
     var fffs=parseInt(tds.eq(8).children().val().trim());    
     var syfs=parseInt(tds.eq(5).text().trim());
     var senddata = {
        'fpdm':tds.eq(1).text(),   
        'qshm':tds.eq(2).text(), 
        'zzhm':tds.eq(3).text(),
        'syfs':tds.eq(5).text()
    }; 
}
IT文库 » 代码中一些问题及解决方式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址