我有一个表格,其中包含输入文本以及选择选项和按钮。单击按钮时将克隆表格行。除了选择选项之外,一切都工作正常。克隆表行后,选择选项不会显示我选择的内容。这是 JsFiddlehttp://jsfiddle.net/aravinth/Ad22d/ http://jsfiddle.net/aravinth/Ad22d/
JavaScript 代码如下
var b = 1;
function cloneRow() {
var row = document.getElementById("table");
var table = document.getElementById("particulars");
var clone = row.rows[1].cloneNode(true);
var clones = row.rows.length;
var workerName = clone.cells[0].getElementsByTagName('input')[0];
var position = clone.cells[2].getElementsByTagName('select')[0];
var date1 = clone.cells[3].getElementsByTagName('input')[0];
var fromHr = clone.cells[4].getElementsByTagName('input')[0];
var toHr = clone.cells[5].getElementsByTagName('input')[0];
var add = clone.cells[1].getElementsByTagName('input')[0];
workerName.id = "workerName" + b;
position.id = "position" + b;
date1.id = "date1" + b;
fromHr.id = "fromHr" + b;
toHr.id = "toHr" + b;
add.id = "add" + b;
$(date1).datebox();
table.appendChild(clone);
b++;
}
我也提到了这个
1.使用 jQuery Uniform.js 更改选择值 https://stackoverflow.com/questions/7503091/change-select-value-using-jquery-uniform-js
2. jquery 克隆元素块。选择行为怪异的元素 https://stackoverflow.com/questions/7929184/jquery-cloning-a-block-of-element-select-element-acting-weired
3.选择.clone后不工作 https://stackoverflow.com/questions/16673922/select-not-working-after-clone
但没有获得成功。请提出一些解决方案。
看来,jQuery mobile 无法识别克隆选择菜单 http://api.jquerymobile.com/selectmenu/.
您可以做的是删除选择菜单并仅重新添加 HTMLselect
然后初始化它selectmenu()
$('.ui-select', clone).remove();
clone.cells[2].appendChild(position);
$(position).selectmenu();
查看修改后的JSFiddle http://jsfiddle.net/Ad22d/82
Update:
我刚刚关注jquery 克隆元素块。选择行为怪异的元素 https://stackoverflow.com/q/7929184/1741542并找到了@malko的answer https://stackoverflow.com/a/14280595/1741542,这比移除并重新插入要优雅得多。这将其减少为
$(position).closest('.ui-select').replaceWith(position);
$(position).selectmenu();
See JSFiddle http://jsfiddle.net/Ad22d/84/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)