读书人

来帮忙看上这个有关问题本人不是专业

发布时间: 2012-09-27 11:11:17 作者: rapoo

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

JScript code
$(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的值,如何解决这个问题?

[解决办法]
document.getElementById(Size)这种变为组合的


document.getElementById('+Size+')

JScript code
        $("#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>');            };        });
[解决办法]
document.getElementById(Size).value
你每一个节点点击事件用的都是同一个变量,你还指望这个变量根据你的点击不同li智能的改变自身么?
当然获取到的都只能是同一个了......
既然你说不是技术人员。我就不多解释了
修改如下:
JScript code
'<li [color=#FF0000]size="'+Size+'"[/color] onclick="javascript:document.getElementById([color=#FF0000]this.Size[/color]).value = this.innerHTML;">32D</li>'
[解决办法]
晕 又忘了插入代码不能加色彩了!
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.Size).value = this.innerHTML;">32D</li>'



[解决办法]
你在$("#fblog-add1").click中是不是应该添加 else对I进行递减操作呢 要不你增加到5就不会发生变化了啊
[解决办法]
$('.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>');};


中间那段改成这样试试
[解决办法]

JScript code
           $('.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>');}; 


[解决办法]
上面大意写错大小写
'<li size="'+Size+'" onclick="javascript:document.getElementById(this.size).value = this.innerHTML;">32D</li>'
这样才对,应该可以满足你所说的
[解决办法]
搞错,变为下面的,id是字符串,原来的代码导致
document.getElementById(\''+Size+'\')
[解决办法]
增加自定义属性存储当时的Size值,和我那个差不多

#9有点小bug就是非ie浏览器自定义属性size需要使用getAttribute来获取
[解决办法]

探讨
引用:

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


这个方法对了,为什么要在LI里面多一个size="'+Size+'"来获取实际的S……

读书人网 >JavaScript

热点推荐