在select2插件中append下拉选,点击没反应的解决
今天前端大佬帮我解决了一个棘手的问题:克隆了已有系统的网页,尝试把复制下来的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> </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下拉选,点击没反应的解决的更多相关文章
- Bootstrap 下拉框点击没反应
应该是第一次点击下拉框没反应,我把HTML复制出来单独运行,都是好的,就是在项目里面无法运行 哪里的js出问题了?找不到原因,控制台里的js也不报错 解决方法: $(function () { $(' ...
- ionic中select下拉框点击无反应解决办法
两种解决办法: 1.在select外的div加入属性 data-tap-disabled=”true” 2.找到ionic.bundle.js文件 的下面这个函数,添加如图两行代码
- jquery的clone()引发的问题,下拉框点击没有反应
此段代码是对某块元素的移位:上移.下移.对比修改前后的两段代码: 修改前: //点击移位 function move(obj,posi){ var al=$(obj).parent('li').par ...
- 选择屏幕中的下拉框和dialog中下拉框设计
REPORT YTEST014. PARAMETERS: auart LIKE vapma-auart AS LISTBOX VISIBLE LENGTH 6. AT SELECTION-SC ...
- 初始化jsp页面下拉选备选项【我】
将下列 script标签放到页面的最下端 <!-- 初始化的全局变量,供js中使用,主要拼接下拉选的初始化值 --> <script type="text/javascri ...
- poi实现生成下拉选联动
在我们实际的程序开发中,经常需要用到从excel导入数据中系统中,而为了防止用户在excel中乱输入文字,有些需要用到下拉选的地方,就需要从程序中动态生成模板.本例子简单的讲解一下,如何生成级联下拉选 ...
- poi实现生成下拉选
在我们日常开发中,经常需要使用poi操作excel文件,现在就简单介绍一下在poi中是如何生成下拉选的. 1.创建workbook 2.创建数据约束 3.设置数据的有效性 @Test public v ...
- 【java+selenium3】select 下拉选 (八)
一.select 下拉框 1.下拉选的处理类:Select 如果页面元素是一个下拉框,我们可以将此web元素封装成Select对象. Select select = new Select(WebEle ...
- Excel中添加下拉框
数据->数据验证->数据验证 设置—>允许下拉框中选择序列,来源中写下拉选项,每个选项之间用逗号隔开
随机推荐
- 单变量线性回归(Linear Regression with One Variable)与代价函数
所谓的单变量线性回归问题就是监督学习的一部分. 通过构建数学模型给出一个相对准确的数值,也就是预测模型,通过将数据通过数学模型,衍生至回归问题 通过以下的几个例子,我们来研究单变量线性回归. 1.王阿 ...
- promise核心6 自定义promise
1.定义整体结构(不写实现) 定义一个自己的promise的库 lib(库的简写) 一个js文件.一个js模块(不能用es6 也不能commjs)(用es5模块语法 ) 匿名函数自调用.IIFE ( ...
- git 一些操作
1. 代码相关 克隆代码 git clone xxx.git 拉取代码 git pull 查看 修改的 状态 git status 推送代码 git push add 或者 修改代码之后 回滚到 未修 ...
- 用PyQt5来即时显示pandas Dataframe的数据,附qdarkstyle黑夜主题样式(美美哒的黑夜主题)
import sys from qdarkstyle import load_stylesheet_pyqt5 from PyQt5.QtWidgets import QApplication, QT ...
- 设计模式讲解3:ChainOfResponsibility模式源码
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 责任链模式,和普通的函数逐层调用栈形成的逻辑链条不通,责任链会落实到某一个具体实施者完成该责任,而普通函数 ...
- 十二、GUI设计-画图程序
"""小小画笔""" from tkinter import *from tkinter.filedialog import *from t ...
- (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程
以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一 添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二 系统的代码目录结构及add.js ...
- Ctrl +c 脚本中
#!/bin/bashsar -n DEV 1 111111111111111 >>1.txt & #实时网卡流量数据 sleep 3 && kill -2 ...
- Windows系统 查询已开通的端口号和对外开放端口号
查询端口号开放情况: 查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令: netstat –ano|findstr “<端口号>” netstat -a 补充说明: n ...
- Python编译遇到的一些错误及解决办法
nunicodeessscape codec can't decode bytes in position2-3:truncated\UXXXXXXXX escape 描述:im=Image.open ...