在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>


 1 <table id="tblOtherFeeTemplate" style="display: none;">
 2     <tbody>
 3     <tr class="otherFeeDataRow">
 4         <td>&nbsp;</td>
 5         <td align="center">
 6
 7
 8
 9             <select name="othfeeId" style="width:120px;">
10     <option value="">-请选择-</option>
11     <option value="AW">AW/制单费</option>
12     <option value="CG">CG/港口费</option>
13     <option value="LA">LA/活动物操作费</option>
14     <option value="MA">MA/归属代理人杂费</option>
15     <option value="MO">MO/杂费</option>
16     <option value="MY">MY/燃油费</option>
17     <option value="RA">RA/危险品操作费</option>
18     <option value="SC">SC/安全附加费</option>
19     <option value="SD">SD/地面运费</option>
20     <option value="TX">TX/税</option>
21     <option value="VC">VC/声明价值附加费</option>
22
23
24 </select>
25
26
27
28         </td>
29         <td align="center">
30             <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;"/>
31         </td>
32         <td align="center">
33             <input type="text" name="othfeeRate" maxlength="8" value="" class="inputText ime-off" style="width: 50px;"/>
34         </td>
35         <td align="center">
36             <input type="text" name="othfee" maxlength="8" value="" class="inputText ime-off" style="width: 80px;"/>
37         </td>
38         <td style="text-align:center;padding: 0px;vertical-align: middle;">
39             <a href="javascript:void(0);" class="otherFeeDeleteBtn" tabindex="-1">
40                 <img src="/static/global/icons/delete16X16.png" border="0" style="margin-top:2px;">
41             </a>
42         </td>
43     </tr>
44     </tbody>
45 </table>
46
47
48
49
50     <div style="width: 95%; height: 150px; overflow: auto; position: relative;">
51         <table border="0" cellspacing="0" cellpadding="0" class="table-form Tlist" id="tblOtherFee" style="margin-left:2px;">
52                 <tr>
53                     <td style="width:70px;" align="center"><label class="formbox-title">其他费用</label></td>
54                     <td style="width:120px;" align="center"><label class="formbox-title">代码</label></td>
55                     <td style="width:50px;" align="center"><label class="formbox-title">归属人</label></td>
56                     <td style="width:70px;" align="center"><label class="formbox-title">费率</label></td>
57                     <td style="width:90px;" align="center"><label class="formbox-title">费用</label></td>
58                     <td style="width:35px;text-align:center;padding: 0px;vertical-align: middle;">
59                         <a href="javascript:void(0);" id="otherFeeAddBtn" tabindex="-1">
60                             <img src="/static/global/icons/plus16X16.png" border="0" align="middle" style="margin-top:2px;"/>
61                         </a>
62                     </td>
63                 </tr>
64
65                 <script type="text/javascript">
66                 //页面刚刚加载时默认调用的方法,生成一个数据行,其中的下拉选可以点击
67                     addOtherFeeRow("MY","C","0.2","");
68
69                 </script>
70
71
72         </table>
73     </div>

实际效果图:

改进的代码:

 1 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>‘);
 2     if (othfeeId) {
 3         //trJQ.find("[name$=‘othfeeId‘]").val(othfeeId);
 4         selectTemp.val(othfeeId);
 5     }
 6 //删除了下拉选的html内容,并在td中加入class=‘othfeeSelect’,用来定位便于append进Dom元素
 7     trJQ.find(‘.othfeeSelect‘).append(selectTemp);
 8 $(‘#tblOtherFee‘).append(trJQ);
 9     //渲染新加入的下拉选
10     $("select[name=‘othfeeId‘]:last").select2();

原文地址:https://www.cnblogs.com/geekheart/p/11123728.html

时间: 2024-08-02 00:10:16

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

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

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

DropDownList 下拉选的OnSelectedIndexChanged属性和AutoPostBack属性 的配合使用,实现自动刷新

<asp:DropDownList ID="dpl_rows" runat="server" OnSelectedIndexChanged="dpl_rows_SelectedIndexChanged" AutoPostBack="true" Width="100px"> 业务需求:客户端浏览器上有一个下拉选,有两个可选的值,当需要选择另一个值的时候,需要把这个值更新到后台的全局属性的变量中,页

JSP——单选框,下拉选框

单选框: 性别:男<input type="radio" name="sex" value="0" onclick="show();">女<input type="radio" name="sex" value="1" checked onclick="hidd();" 1.在Html的空间中的input标签中有type属性,将该

Bootstrap中的下拉菜单

下拉菜单(基本用法) 小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,它对应的文件: ?  LESS版本:对应的源码文件为 dropdowns.less ?  Sass版本:对应的源码文件为 _dropdowns.scss ?  编译后的Bootstrap版本:查看bootstrap.css文件第3004行-第3130行 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.当然,如果你使用的是未编译版

android中自定义下拉框(转)

android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在编辑框的下面,然后又很多选项的下拉框,可是我在网上找了一下,没有这种下拉框额,就自己写了一个,看效果图先: ,这个是资料填写的一部分界面,三个下拉框,选择故乡所在地: 点击之后弹出下拉框,选择下面的选项: 三个下拉框时关联的,第一个决定了第二数据内容,第二个决定了第三个数据内容,如果三个全部选好之后

easyUI下拉选框匹配不到传输过来值-问题

我们通常在修改一个表单数据时,用: $('#frm_spwarehouse_edit').form('load',jsonData); 来匹配选填的表单的控件值. ============== 但常常在使用 <select name="categorycode" id="edit_spwarehouse_category" class="easyui-combobox" style="width:140px" data-

Android中自定义下拉样式Spinner

Android中自定义下拉样式Spinner 本文继续介绍android自定义控件系列,自定义Spinner控件的使用. 实现思路 1.定义下拉控件布局(ListView及子控件布局) 2.自定义SpinerPopWindow类 3.定义填充数据的Adapter 效果图 一.定义控件布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:/

Delphi访问网页中的下拉菜单

Delphi通过TWebBrowser浏览网页,然后访问该网页中的下拉菜单: uses MsHtml;procedure TForm1.Button1Click(Sender: TObject);var  doc: IHTMLDocument2;  coll: IHTMLElementCollection;  iPos, iIndex: Integer;  selElem: IHtmlSelectElement;  optElem: IHtmlOptionElement;begin  doc :

yii框架中的下拉菜单和单选框

yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data,'cat_id','new_cat_name') ,['prompt' => '请选择父级分类']) ? 第二种: <?= $form->field($model, 'banner_address')->dropDownList(ArrayHelper::map(address::fi