尝试使用 Javascript 和 jQuery 创建动态选择框

发布于 2024-09-14 16:48:25 字数 1540 浏览 4 评论 0原文

我不是前端开发人员,我正在尝试创建一个选择框并使用 Javascript 和 jQuery 完全动态地添加其选项。

我已经快到了,但在将每个新选择添加到 div 块时遇到问题(选择的数量在不同时间不同)。

到目前为止,我可以获取在显示的以下代码中创建的最后一个选择(但没有跨度标签)

$('#meeting-eft-time-unit-data').append('<span>').html(se).append('</span>');

,或者只获取以下列表......

$('#meeting-eft-time-unit-data').append('<span>' + se + '</span>');
object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement]

这是代码:

$.each(event_type_time_units,
 function(index, optionData) {
   var se = document.createElement("select");
   // give it a  name from 'name'
   se.name = 'eft[' + optionData.name + ']';
   // populate it from 'range_from .. range_to
   for(var i=optionData.range_from; i <= optionData.range_to; i++) {
     var option = new Option(i, i);
     if ($.browser.msie) {
       se.add(option);
     } else {
       se.add(option,null);
     }
   }

   // add display name to a label in a div block
   $('#meeting-eft-time-unit-headers').append('<span>' + optionData.display_name + '</span>');

   // add select to a div block
   /**
   This gives me the a good select but only the last one processed is displayed
   $('#meeting-eft-time-unit-data').append('<span>').html(se).append('</span>');
   or
   This gives the text as explained above
   $('#meeting-eft-time-unit-data').append('<span>' + se + '</span>');
   **/
 });

I'm not a front-end developer and I'm trying to create a select box and add its options totally dynamically using Javascript and jQuery.

I'm almost there but I am having a problem adding each new select to the div block (the number of selects is different at different times).

So far, I can either get the last select created in the following code displayed (but without span tags)

$('#meeting-eft-time-unit-data').append('<span>').html(se).append('</span>');

or I just get the following list ...

$('#meeting-eft-time-unit-data').append('<span>' + se + '</span>');
object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement][object HTMLSelectElement]

Here's the code:

$.each(event_type_time_units,
 function(index, optionData) {
   var se = document.createElement("select");
   // give it a  name from 'name'
   se.name = 'eft[' + optionData.name + ']';
   // populate it from 'range_from .. range_to
   for(var i=optionData.range_from; i <= optionData.range_to; i++) {
     var option = new Option(i, i);
     if ($.browser.msie) {
       se.add(option);
     } else {
       se.add(option,null);
     }
   }

   // add display name to a label in a div block
   $('#meeting-eft-time-unit-headers').append('<span>' + optionData.display_name + '</span>');

   // add select to a div block
   /**
   This gives me the a good select but only the last one processed is displayed
   $('#meeting-eft-time-unit-data').append('<span>').html(se).append('</span>');
   or
   This gives the text as explained above
   $('#meeting-eft-time-unit-data').append('<span>' + se + '</span>');
   **/
 });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苦行僧 2024-09-21 16:48:25

尝试:

$('#meeting-eft-time-unit-headers').append($('<span/>').append(se));

Try:

$('#meeting-eft-time-unit-headers').append($('<span/>').append(se));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文