JQuery:动态创建选择标记

我正在使用JQuery动态(基于用户选择)创建标记。 用户在文本框中输入require选项,我的代码创建它的select标签。 脚本是:

var numbersString = "1,2,3,4,5,6"; var data = numbersString.split(','); var s = $(""); for(var val in data) { $("", {value: val, text: data[val]}).appendTo(s); } s.appendTo("#msj_form"); 

其中msj_form是标签附加的div id。 现在它创建:

  1 2 3 4 5 6  

但是我也希望将标签和

代码连同标签一起使用,以便代码看起来像:

  My Label   1 2 3 4 5 6    

在此处输入图像描述

 var s = $(""); for(var val in data) { $("", {value: val, text: data[val]}).appendTo(s); } 

在for循环之后,用TableRow和Cells包装所有内容,像这样, Jquery Wrap()

 $(s).wrap('
');
  /* 1- First get total numbers of SELECT tags used in your page to avoid elements name/id issues. * 2- Get all OPTIONS user entered with comma separator into a text box. * 3- Split user OPTIONS and make an array of these OPTIONS. * 4- Create SELECT code. * 5- Appent it into the temp div (a hidden div in your page). * 6- Then get that code. * 7- Now append code to your actual div. * 8- Filnally make empty the temp div therfore it will be like a new container for next SELECT tag. */ total = $("select").size() + 1; // 1- var myoptions = $("#myoptions").val(); // 2- var data = myoptions.split(','); // 3- var s = $(""); // 4- for(var val in data) { $("", {value: val, text: data[val]}).appendTo(s); } s.appendTo("#tempselect"); // 5- var getselectcode = $("#tempselect").html(); // 6- $("#msj_form").append(appendLabel+""+getselectcode+""); // 7- $("#tempselect").html(''); // 8-  // Temp div 
 var html = '' +''; 

我们假设,table = table_id的id

 $('#table_id').append(html); $('#table_id').trigger('create'); 

我得到的是,如果你不调用trigger(),你选择的设计看起来完全搞砸了..

Ravi对答案的轻微修改 – 逐个附加每个元素是一个令人惊讶的高成本操作。

 var s = $(""); var opts = []; for(var val in data) { opts.push( $("", {value: val, text: data[val]})); } opts.appendTo(s);