0

我正在使用 Jquery 创建一些列表。有1个文本框。用户提供一些数据。当用户确实按下 Button 时,该数据将被复制并添加到 div 中。

$("#Add").click(function(){
   var val = $('[name=Variablename]').val();
     var masterHTML = '<input type="checkbox" name="'+val+'">'+val+'   '+val+'  '+'<br>';
                $("#main").append( masterHTML);
          });   

现在这个列表可以是很大的例子:

sampletext1
sampletext2
sampletext3
sampletext4
sampletext5
sampletext6

每个旁边都会有一个检查按钮。因为这都是动态数据。所以当用户检查说sampletext1。我怎样才能得到这些数据。基本上我正在考虑在文本框中显示该数据,以便用户可以将 sampletext1 更新为 sampletext1update 并将其发回。

我怎样才能做到这一点 。我没有使用表格(或)表格。只是 div 并使用检查按钮添加文本

div主要是:

<div id="main">
</br>
</div>
4

1 回答 1

1

一种方法...给所有动态生成的复选框一个类(同一类)..say checkboxClass...并为此调用click事件

$('#main').on('change','.checkboxClass',function(){
   if($(this).is(':checked')){
       alert($(this).val());
    }
   });

并且您需要定义value复选框的属性才能使其正常工作(上面的代码中缺少该属性)......再次因为这是复选框,用户可以选择多个......你有没有想过......??

更新

然后动态创建一个按钮以及具有相同类的复选框..隐藏它...

 $("#Add").click(function(){
     var val = $('[name=Variablename]').val();
     var masterHTML = '<input class="checkboxClass" type="checkbox" value="'+val+'" name="'+val+'">'+val+'   '+val+'  '+ '<button class="buttonClass">update</button><br>';
     $("#main").append( masterHTML);
      $('.buttonClass').hide(); //hide button
  });   


  $('#main').on('change','.checkboxClass',function(){
    $('.buttonClass').hide(); //make sure all other button is hidden
    if($(this).is(':checked')){ //<--here missed bracket
        $(this).next('.buttonClass').show(); //show the button that is just clicked
    }
   });

  //code to update on click of button
  $('#main').on('click','.buttonClass',function(){
       $('#yourtextBoxId').val($(this).prev().val());
  });
于 2013-04-30T17:35:12.350 回答