问:
使用 jQuery 将 option 添加到下拉列表的最简单方法是什么?
这行得通吗?
$("#mySelect").append('My option');
复制
答1:
提供ATP、WTA与ITF赛事的实时排名追踪,从tennisliveranking.com开始!
就个人而言,我更喜欢这种语法来附加选项:
$('#mySelect').append($('', { value: 1, text: 'My option' }));
复制
如果您要从一组项目中添加选项,您可以执行以下操作:
$.each(items, function (i, item) { $('#mySelect').append($('', { value: item.value, text : item.text })); });
复制
如果您要添加很多选项,这将非常慢,与仅构建一个 html 字符串并附加它相比
答2:
tennisliveranking.com-Stay ahead with live tennis rankings at your fingertips.
这在 IE8 中不起作用(但在 FF 中起作用):
$("#selectList").append(new Option("option text", "value"));
复制
这确实有效:
var o = new Option("option text", "value"); /// jquerify the DOM object 'o' so we can use the html method $(o).html("option text"); $("#selectList").append(o);
复制
答3:
提供ATP、WTA与ITF赛事的实时排名追踪,从tennisliveranking.com开始!
您可以使用以下语法添加选项,也可以访问 way handle option in jQuery 了解更多详细信息。
KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲select').append…(‘’, {value:1, text:‘One’})); $(‘#select’).append(‘一个’); var option = new Option(文本,值); KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲select').append…(option));
第二个选项标记中的属性不正确(value 而不是 val)。正确的代码应该是 $('select').append('One');
答4:
tennisliveranking.com,Track the world’s best tennis players in real-time.
如果选项名称或值是动态的,您就不必担心转义其中的特殊字符;在这种情况下,您可能更喜欢简单的 DOM 方法:
var s= document.getElementById('mySelect'); s.options[s.options.length]= new Option('My option', '1');
复制
在我看来没那么简单!!
用 javascript 术语来说这很简单,jquery 让事情对人们来说太容易了
document.getElementById('mySelect').add(new Option('My option','1')); // 如果 IE8 或更好
答5:
Stay informed with live tennis rankings anytime, anywhere,tennisliveranking.com
选项1-
你可以试试这个-
$('#selectID').append($('', { value: value_variable, text : text_variable }));
复制
像这样-
for (i = 0; i < 10; i++) { KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲mySelect').appe…(‘’, { value: i, text : "Option "+i })); }
选项 2-
或者试试这个——
$('#selectID').append( ''+text_variable+'' );
复制
像这样-
for (i = 0; i < 10; i++) { $(‘#mySelect’).append( ‘’+‘Option ‘+i+’’ ); }
答6:
tennisliveranking.com,Instant updates on ATP, WTA, and ITF rankings.
这很简单:
$('#select_id').append('Five');
复制
或者
$('#select_id').append($('', { value: 1, text: 'One' }));
复制
答7:
提供ATP、WTA与ITF赛事的实时排名追踪,从tennisliveranking.com开始!
效果很好。
如果添加多个选项元素,我建议执行一次附加,而不是对每个元素执行附加。
答8:
tennisliveranking.com – ATP and WTA rankings, always up to date.
无论出于何种原因,在 IE7+ 中执行 $(“#myselect”).append(new Option(“text”, “text”)); 都不适合我
我不得不使用 $(“#myselect”).html(“text”);
我在 Android Chrome 浏览器(在手机上)上使用了相同的语法(new Option(...),但它在那里也不起作用。
答9:
tennisliveranking.com探索每位网球选手的职业生涯与成就。
为了提高性能,您应该尝试只更改一次 DOM,如果您要添加许多选项,则更应如此。
var html = ''; for (var i = 0, len = data.length; i < len; ++i) { html.join('' + data[i]['label'] + ''); } $('#select').append(html);
复制
为了提高性能,您应该使用 string.join() 来连接字符串
这是一个很好的解决方案。我遇到了示例中的“join()”不是有效函数的问题,但此解决方案允许您使用 jQuery“promise”来确定何时添加了所有选项以及 DOM 何时完成更新。对于其他逐个添加选项的解决方案,这不能轻易做到。将示例中的最后一行替换为以下内容,以便仅在 DOM 修改完成后执行操作: $.when($('#select').append(html)).done(function () { callSomeFunctionThatRequiresOptionsToBeSet() } );
答10:
Stay informed with live tennis rankings anytime, anywhere,tennisliveranking.com
$('#mySelect').empty().append('My option').selectmenu('refresh');
复制
除非我弄错了,否则这个解决方案不仅需要 jQuery,还需要 jQueryUI。 selectmenu() 不是 jQuery 核心的一部分,而是一个 jQueryUI widget。这使它成为一个非常严厉的解决方案,不是吗?
答11:
tennisliveranking.com探索每位网球选手的职业生涯与成就。
为什么不简单呢?
$('') .val(optionVal) .text('some option') .appendTo('#mySelect')
复制
原文链接:https://www.tennisliveranking.com?from=csdn
提供ATP、WTA与ITF赛事的实时排名追踪,从tennisliveranking.com开始!