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

解决方案 »

  1.   

    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>');
                };
            });
      

  2.   

    试过了 没有用 看来好像我本身这样的需求就比较山寨?不如直接获取<dd class="select-box"><span>请选择...</span> 这里的值?
      

  3.   

    document.getElementById(Size).value 
    你每一个节点点击事件用的都是同一个变量,你还指望这个变量根据你的点击不同li智能的改变自身么?
    当然获取到的都只能是同一个了......
    既然你说不是技术人员。我就不多解释了
    修改如下:'<li size="'+Size+'" onclick="javascript:document.getElementById(this.Size).value = this.innerHTML;">32D</li>'
    每一个li都都这样写,该会吧?不用我完全写出来撒
      

  4.   

    晕  又忘了插入代码不能加色彩了!
    '<li size="'+Size+'" onclick="javascript:document.getElementById(this.Size).value = this.innerHTML;">32D</li>'
      

  5.   

    你在$("#fblog-add1").click中是不是应该添加 else对I进行递减操作呢 要不你增加到5就不会发生变化了啊
      

  6.   

               $('.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>');};
    中间那段改成这样试试
      

  7.   

               $('.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>');};中间改成这样试试
      

  8.   

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

  9.   

    搞错,变为下面的,id是字符串,原来的代码导致
    document.getElementById(\''+Size+'\')
      

  10.   


    这个方法对了,为什么要在LI里面多一个size="'+Size+'"来获取实际的Size的值就可以了呢?
      

  11.   

    增加自定义属性存储当时的Size值,和我那个差不多#9有点小bug就是非ie浏览器自定义属性size需要使用getAttribute来获取
      

  12.   

    请弄清楚逻辑,点击事件发生时,Size值已经是最后一次的值了,我先前都说了,你每次添加的条目里面使用的是同一个变量Size,难道你能指望这个变量自己智能改变自身么?当然都是同一个值而我这段在写这个li时把当时的Size变量值记录在了size属性里面,点击时通过该属性获得的是生成该元素时Size的值而不是点击时Siae的值,清楚了么?