【发布时间】:2018-05-29 07:08:57
【问题描述】:
我正在尝试使用 attr() 标记设置两个属性,但它在旧 jquery 版本 1.3.4 中工作正常,但在新版本 2.1.3 中不起作用。我正在使用 Grider API,它具有以下 addRow() 函数
function addRow() {
var tr = $(table).find('tr:not(.noedit):first').clone();
addFormPos();
if($(tr).find("input, select, textarea").length > 0) {
$(tr).find("input, textarea, select").each(function(index, elem) {
// Change the name of the fields
var newName = '';
if(config.formPos !== '') {
newName = elem.name.replace(/\[[0-9]+\]/i, '[' + config.formPos + ']');
}else {
newName = elem.name;
}
if(elem.type == 'checkbox' || elem.type == 'radio') {
$(elem).attr({'name': newName, 'checked': false})
}else {
$(elem).attr({'name': newName, 'value': ''});
}
$(elem)
});
$(tr).find("input:radio, input:checkbox").attr('checked', false);
}
if(cols[k] && cols[k].type == "" && cols[k].formula)
$(tr).find("td:eq(" + cols[k].pos + ")").html('');
if(config['countRow']) {
var fila = parseInt($(table).find('tr:not(.noedit):last td:eq('+ config['countRowCol'] +')').html()) + 1;
$(tr).find('td:eq('+ config['countRowCol'] +')').html(fila);
}
$(table).find('tr:not(.noedit):last').after(tr);
// Register elements that fire events
setEvents();
for(var kk in cols){
if(cols[kk].summary)
calculateSummary(cols[kk].name);
}
}
我在以下代码行中遇到问题
$(elem).attr({'name': newName, 'value': ''});
在 jquery 2.1.3 版本中没有设置value="",但设置名称正确。有人可以建议我做错了什么吗?
更新
这在 Oracle APEX v5.0 新主题中不起作用。我正在使用来自 github 的以下 API
Grider.js
【问题讨论】:
-
如果不输入,您将使用什么值,它不会设置值,只有输入具有您可以使用
data-*的值。你也可以添加html标记吗 -
你能在问题中添加相关的 HTML 吗?
-
可以参考jQuery Docs
-
@guradio 添加了整个功能
-
select 和 textarea 没有属性值它是无效的使用
data-value代替你仍然可以得到它并像那样设置它
标签: javascript jquery attr oracle-apex-5