来帮忙看下这个问题,本人不是专业技术人员,前来求高人指教!

CainLai 2012-09-12 02:48:08

$(document).ready(function(){
var I = 1;
//fblog-add1
$("#fblog-add1").click(function() {
if ($(".selectl-inner-sizel dl").size() < 5) {
I = I + 1;
Size = "Size" + I + "_Id";
alert(Size);
$('.selectl-inner-sizel').append(
'<dl class="frame-sel-filed pdt10">' +
'<dd class="frame-sel-dd-01">文胸尺码</dd>' +
'<dd class="select-box"><span>请选择...</span>' +
'<ul class="select-ul">' +
'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">32A</li>' +'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">32B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">32C</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">32D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">32DD</li>' +'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">34A</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">34B</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">34C</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">34D</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">34DD</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">36A</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">36B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">36C</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">36D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">36DD</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">38B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">38C</li>' +
'<li onclick="javascript:document.getElementById(Size).value = this.innerHTML;">38D</li>'+'<li class="bg-fff" onclick="javascript:document.getElementById(Size).value = this.innerHTML;">38DD</li>' +
'</ul>' + '</dd>'+'</dl>');};
});
$("#fblog-reduce1").click(function() {
if ($(".selectl-inner-sizel dl").size() > 1) {
I = I - 1;
$(".selectl-inner-sizel dl:last-child").remove();
};
});
});


效果大概为点一次 添加一批内容,而次添加的内容都要计数,比如最开始I=1,那么第一次点击添加内容的时候,getElementById(Size)中,SIZE的值应该是size2_id,以此类推,第二次点击,getElementById(Size)中SIZE的值应该是size3_id,我想利用这种办法跟几个HIDDEN的文本框对应,但是实际情况是点了几次添加后,前面已经生成的所有getElementById(Size)中,SIZE的内容都变成了最后一次的SIZE的值,如何解决这个问题?
...全文
173 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CainLai 2012-09-13
  • 打赏
  • 举报
回复
问题解决了,晚上自己看了下各位的回复,思路也懂了,现在结贴,谢谢各位的帮助!
未知数 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 8 楼 的回复:

上面大意写错大小写
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.size).value = this.innerHTML;">32D</li>'
这样才对,应该可以满足你所说的


这个方法对了,为什么要在LI里面多一个size="'+Size+'"来获取实际的S……
[/Quote]
请弄清楚逻辑,点击事件发生时,Size值已经是最后一次的值了,我先前都说了,你每次添加的条目里面使用的是同一个变量Size,难道你能指望这个变量自己智能改变自身么?当然都是同一个值

而我这段在写这个li时把当时的Size变量值记录在了size属性里面,点击时通过该属性获得的是生成该元素时Size的值而不是点击时Siae的值,清楚了么?
Go 旅城通票 2012-09-12
  • 打赏
  • 举报
回复
增加自定义属性存储当时的Size值,和我那个差不多

#9有点小bug就是非ie浏览器自定义属性size需要使用getAttribute来获取
CainLai 2012-09-12
  • 打赏
  • 举报
回复
9L的方法也是对的!难道是我获取变量的格式写法没有对么!
CainLai 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

上面大意写错大小写
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.size).value = this.innerHTML;">32D</li>'
这样才对,应该可以满足你所说的
[/Quote]

这个方法对了,为什么要在LI里面多一个size="'+Size+'"来获取实际的Size的值就可以了呢?
Go 旅城通票 2012-09-12
  • 打赏
  • 举报
回复
搞错,变为下面的,id是字符串,原来的代码导致
document.getElementById(\''+Size+'\')
未知数 2012-09-12
  • 打赏
  • 举报
回复
上面大意写错大小写
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.size).value = this.innerHTML;">32D</li>'
这样才对,应该可以满足你所说的
dmtlyc7517 2012-09-12
  • 打赏
  • 举报
回复
           $('.selectl-inner-"'+Size+'"l').append(
'<dl class="frame-sel-filed pdt10">' +
'<dd class="frame-sel-dd-01">文胸尺码</dd>' +
'<dd class="select-box"><span>请选择...</span>' +
'<ul class="select-ul">' +
'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32A</li>' +'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32DD</li>' +'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34A</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34B</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34C</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34D</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34DD</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36A</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36DD</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38D</li>'+'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38DD</li>' +
'</ul>' + '</dd>'+'</dl>');};


中间改成这样试试
dmtlyc7517 2012-09-12
  • 打赏
  • 举报
回复
$('.selectl-inner-"'+Size+'"l').append(
'<dl class="frame-sel-filed pdt10">' +
'<dd class="frame-sel-dd-01">文胸尺码</dd>' +
'<dd class="select-box"><span>请选择...</span>' +
'<ul class="select-ul">' +
'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32A</li>' +'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">32DD</li>' +'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34A</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34B</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34C</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34D</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">34DD</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36A</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36D</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">36DD</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38B</li>' +'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38C</li>' +
'<li onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38D</li>'+'<li class="bg-fff" onclick="javascript:document.getElementById("'+Size+'").value = this.innerHTML;">38DD</li>' +
'</ul>' + '</dd>'+'</dl>');};


中间那段改成这样试试
路伊阑珊 2012-09-12
  • 打赏
  • 举报
回复
你在$("#fblog-add1").click中是不是应该添加 else对I进行递减操作呢 要不你增加到5就不会发生变化了啊
未知数 2012-09-12
  • 打赏
  • 举报
回复
晕 又忘了插入代码不能加色彩了!
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.Size).value = this.innerHTML;">32D</li>'
未知数 2012-09-12
  • 打赏
  • 举报
回复
document.getElementById(Size).value
你每一个节点点击事件用的都是同一个变量,你还指望这个变量根据你的点击不同li智能的改变自身么?
当然获取到的都只能是同一个了......
既然你说不是技术人员。我就不多解释了
修改如下:

'<li size="'+Size+'" onclick="javascript:document.getElementById(this.Size).value = this.innerHTML;">32D</li>'


每一个li都都这样写,该会吧?不用我完全写出来撒
CainLai 2012-09-12
  • 打赏
  • 举报
回复
试过了 没有用 看来好像我本身这样的需求就比较山寨?不如直接获取<dd class="select-box"><span>请选择...</span> 这里的值?
Go 旅城通票 2012-09-12
  • 打赏
  • 举报
回复
document.getElementById(Size)这种变为组合的
document.getElementById('+Size+')
        $("#fblog-add1").click(function () {
if ($(".selectl-inner-sizel dl").size() < 5) {
I = I + 1;
Size = "Size" + I + "_Id";
alert(Size);
$('.selectl-inner-sizel').append(
'<dl class="frame-sel-filed pdt10">' +
'<dd class="frame-sel-dd-01">文胸尺码</dd>' +
'<dd class="select-box"><span>请选择...</span>' +
'<ul class="select-ul">' +
'<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">32A</li>' + '<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">32B</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">32C</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">32D</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">32DD</li>' + '<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">34A</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">34B</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">34C</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">34D</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">34DD</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">36A</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">36B</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">36C</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">36D</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">36DD</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">38B</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">38C</li>' +
'<li onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">38D</li>' + '<li class="bg-fff" onclick="javascript:document.getElementById('+Size+').value = this.innerHTML;">38DD</li>' +
'</ul>' + '</dd>' + '</dl>');
};
});

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧