今天前端大佬帮我解决了一个棘手的问题:克隆了已有系统的网页,尝试把复制下来的html改造成jsp。基本功能正常,然而点击新增按钮,出来的行无法点击下拉选,控制台也没报错。

项目用的是jeesite2.0框架,springMVC架构。下拉选默认使用了select2插件,

源代码:

 

<script type="text/javascript">
//重新生成其他费用索引
function resetOtherFeeListIndex() {
$('#tblOtherFee').find("tr.otherFeeDataRow").each(function(i) {
var trJQ = $(this);
trJQ.find("[name$='othfeeId']").attr("id", "othfeeId" + i).attr("name", "mawb.awbOthfeeDtos[" + i + "].othfeeId");
trJQ.find("[name$='othfeeOwner']").attr("id", "othfeeOwner" + i).attr("name", "mawb.awbOthfeeDtos[" + i + "].othfeeOwner");
trJQ.find("[name$='othfeeRate']").attr("id", "othfeeRate" + i).attr("name", "mawb.awbOthfeeDtos[" + i + "].othfeeRate");
trJQ.find("[name$='othfee']").attr("id", "othfee" + i).attr("name", "mawb.awbOthfeeDtos[" + i + "].othfee");

});
}

//添加其他费用
function addOtherFeeRow(othfeeId, othfeeOwner, othfeeRate, othfee, othfeeDesc) {
var trJQ = $($('#tblOtherFeeTemplate tbody').html());
if (othfeeId) {
trJQ.find("[name$='othfeeId']").val(othfeeId);
}

$('#tblOtherFee').append(trJQ);
resetOtherFeeListIndex();
}

$(function() {

//添加其他费用
$('#otherFeeAddBtn').click(function() {
addOtherFeeRow();
return false;
});
//删除其他费用
$('tr.otherFeeDataRow').find(".otherFeeDeleteBtn").live("click", function() {
$(this).parents("tr.otherFeeDataRow:first").remove();
resetOtherFeeListIndex();
return false;
});
});
</script>


 <table id="tblOtherFeeTemplate" style="display: none;">
<tbody>
<tr class="otherFeeDataRow">
<td>&nbsp;</td>
<td align="center"> <select name="othfeeId" style="width:120px;">
<option value="">-请选择-</option>
<option value="AW">AW/制单费</option>
<option value="CG">CG/港口费</option>
<option value="LA">LA/活动物操作费</option>
<option value="MA">MA/归属代理人杂费</option>
<option value="MO">MO/杂费</option>
<option value="MY">MY/燃油费</option>
<option value="RA">RA/危险品操作费</option>
<option value="SC">SC/安全附加费</option>
<option value="SD">SD/地面运费</option>
<option value="TX">TX/税</option>
<option value="VC">VC/声明价值附加费</option> </select> </td>
<td align="center">
<input type="text" name="othfeeOwner" maxlength="1" value="C" readonly="readonly" tabindex="-1" class="inputText ime-off" style="width: 30px;background-color:#DDDDDD;text-align:center;"/>
</td>
<td align="center">
<input type="text" name="othfeeRate" maxlength="8" value="" class="inputText ime-off" style="width: 50px;"/>
</td>
<td align="center">
<input type="text" name="othfee" maxlength="8" value="" class="inputText ime-off" style="width: 80px;"/>
</td>
<td style="text-align:center;padding: 0px;vertical-align: middle;">
<a href="javascript:void(0);" class="otherFeeDeleteBtn" tabindex="-1">
<img src="/static/global/icons/delete16X16.png" border="0" style="margin-top:2px;">
</a>
</td>
</tr>
</tbody>
</table> <div style="width: 95%; height: 150px; overflow: auto; position: relative;">
<table border="0" cellspacing="0" cellpadding="0" class="table-form Tlist" id="tblOtherFee" style="margin-left:2px;">
<tr>
<td style="width:70px;" align="center"><label class="formbox-title">其他费用</label></td>
<td style="width:120px;" align="center"><label class="formbox-title">代码</label></td>
<td style="width:50px;" align="center"><label class="formbox-title">归属人</label></td>
<td style="width:70px;" align="center"><label class="formbox-title">费率</label></td>
<td style="width:90px;" align="center"><label class="formbox-title">费用</label></td>
<td style="width:35px;text-align:center;padding: 0px;vertical-align: middle;">
<a href="javascript:void(0);" id="otherFeeAddBtn" tabindex="-1">
<img src="/static/global/icons/plus16X16.png" border="0" align="middle" style="margin-top:2px;"/>
</a>
</td>
</tr> <script type="text/javascript">
//页面刚刚加载时默认调用的方法,生成一个数据行,其中的下拉选可以点击
addOtherFeeRow("MY","C","0.2",""); </script> </table>
</div>

实际效果图:

改进的代码:

 var selectTemp = $('<select name="othfeeId" style="width:120px;"><option value="">-请选择-</option><option value="AW">AW/制单费</option><option value="CG">CG/港口费</option><option value="LA">LA/活动物操作费</option><option value="MA">MA/归属代理人杂费</option><option value="MO">MO/杂费</option> <option value="MY">MY/燃油费</option> <option value="RA">RA/危险品操作费</option>    <option value="SC">SC/安全附加费</option>    <option value="SD">SD/地面运费</option>    <option value="TX">TX/税</option>   <option value="VC">VC/声明价值附加费</option></select>');
if (othfeeId) {
//trJQ.find("[name$='othfeeId']").val(othfeeId);
selectTemp.val(othfeeId);
}
//删除了下拉选的html内容,并在td中加入class=‘othfeeSelect’,用来定位便于append进Dom元素
trJQ.find('.othfeeSelect').append(selectTemp);
$('#tblOtherFee').append(trJQ);
//渲染新加入的下拉选
$("select[name='othfeeId']:last").select2();

在select2插件中append下拉选,点击没反应的解决的更多相关文章

  1. Bootstrap 下拉框点击没反应

    应该是第一次点击下拉框没反应,我把HTML复制出来单独运行,都是好的,就是在项目里面无法运行 哪里的js出问题了?找不到原因,控制台里的js也不报错 解决方法: $(function () { $(' ...

  2. ionic中select下拉框点击无反应解决办法

    两种解决办法: 1.在select外的div加入属性 data-tap-disabled=”true” 2.找到ionic.bundle.js文件 的下面这个函数,添加如图两行代码  

  3. jquery的clone()引发的问题,下拉框点击没有反应

    此段代码是对某块元素的移位:上移.下移.对比修改前后的两段代码: 修改前: //点击移位 function move(obj,posi){ var al=$(obj).parent('li').par ...

  4. 选择屏幕中的下拉框和dialog中下拉框设计

    REPORT  YTEST014. PARAMETERS: auart LIKE vapma-auart  AS LISTBOX   VISIBLE LENGTH 6. AT SELECTION-SC ...

  5. 初始化jsp页面下拉选备选项【我】

    将下列 script标签放到页面的最下端 <!-- 初始化的全局变量,供js中使用,主要拼接下拉选的初始化值 --> <script type="text/javascri ...

  6. poi实现生成下拉选联动

    在我们实际的程序开发中,经常需要用到从excel导入数据中系统中,而为了防止用户在excel中乱输入文字,有些需要用到下拉选的地方,就需要从程序中动态生成模板.本例子简单的讲解一下,如何生成级联下拉选 ...

  7. poi实现生成下拉选

    在我们日常开发中,经常需要使用poi操作excel文件,现在就简单介绍一下在poi中是如何生成下拉选的. 1.创建workbook 2.创建数据约束 3.设置数据的有效性 @Test public v ...

  8. 【java+selenium3】select 下拉选 (八)

    一.select 下拉框 1.下拉选的处理类:Select 如果页面元素是一个下拉框,我们可以将此web元素封装成Select对象. Select select = new Select(WebEle ...

  9. Excel中添加下拉框

    数据->数据验证->数据验证 设置—>允许下拉框中选择序列,来源中写下拉选项,每个选项之间用逗号隔开

随机推荐

  1. 单变量线性回归(Linear Regression with One Variable)与代价函数

    所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...

  2. promise核心6 自定义promise

    1.定义整体结构(不写实现) 定义一个自己的promise的库 lib(库的简写) 一个js文件.一个js模块(不能用es6  也不能commjs)(用es5模块语法 ) 匿名函数自调用.IIFE ( ...

  3. git 一些操作

    1. 代码相关 克隆代码 git clone xxx.git 拉取代码 git pull 查看 修改的 状态 git status 推送代码 git push add 或者 修改代码之后 回滚到 未修 ...

  4. 用PyQt5来即时显示pandas Dataframe的数据,附qdarkstyle黑夜主题样式(美美哒的黑夜主题)

    import sys from qdarkstyle import load_stylesheet_pyqt5 from PyQt5.QtWidgets import QApplication, QT ...

  5. 设计模式讲解3:ChainOfResponsibility模式源码

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 责任链模式,和普通的函数逐层调用栈形成的逻辑链条不通,责任链会落实到某一个具体实施者完成该责任,而普通函数 ...

  6. 十二、GUI设计-画图程序

    """小小画笔""" from tkinter import *from tkinter.filedialog import *from t ...

  7. (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程

    以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一  添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二   系统的代码目录结构及add.js ...

  8. Ctrl +c 脚本中

    #!/bin/bashsar -n DEV 1 111111111111111 >>1.txt &   #实时网卡流量数据  sleep 3 && kill -2 ...

  9. Windows系统 查询已开通的端口号和对外开放端口号

    查询端口号开放情况: 查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令: netstat  –ano|findstr “<端口号>” netstat -a 补充说明: n ...

  10. Python编译遇到的一些错误及解决办法

    nunicodeessscape codec can't decode bytes in position2-3:truncated\UXXXXXXXX escape 描述:im=Image.open ...