Javascript jquery:convert textarea(用新行分隔)以选择选项菜单
这个 我试过这个:Javascript jquery:convert textarea(用新行分隔)以选择选项菜单,javascript,jquery,Javascript,Jquery,这个 我试过这个: $('.generate')。单击(函数(){ $('.inthis').text('+$('.text area').val().split('\n')+'+$('.text area').val().split('\n')+'+'+$('.text area').val().split('\n')+); }); 绿色 黄色的 蓝色 $('.generate')。单击(函数(){ var options=$('.text area').val().split(
$('.generate')。单击(函数(){
$('.inthis').text('+$('.text area').val().split('\n')+'+$('.text area').val().split('\n')+'+'+$('.text area').val().split('\n')+);
});代码>
绿色
黄色的
蓝色
$('.generate')。单击(函数(){
var options=$('.text area').val().split('\n')
$('.inthis').html(''+options[0]+''+options[1]+''+options[2]+'');
});代码>
绿色
黄色的
蓝色
首先,使用text()
将设置元素的文本值。如果要在其中创建新元素,则可以使用html()
、或append()
、或jQuery的任何其他DOM操作方法。在下面的示例中,我使用了appendTo()
,因此我可以维护对添加的select
的引用
从那里,您可以将split()
按每一行划分textarea
值,然后通过该数组循环,将每一行的值构建为其自己的选项
。试试这个:
$('.generate')。单击(函数(){
变量$select=$('').appendTo('.inthis');
var options=$('.text area').val().split('\n').map(函数(值){
返回“”+值+“”;
});
$select.html(options.join(“”));
});代码>
绿色
黄色的
蓝色
文本的名称表明它不适用于html或jQuery对象
我使用jQuery语法创建对象并忽略textarea中的空行
$('.generate')。在(“单击”,函数()上){
变量$sel=$(''{
“类”:“选择”,
“id”:$('.select menu').val()
}),
opts=$('.text area').val().split('\n').map(
功能(val){
如果(val)返回$(''{
“价值”:val,
“文本”:val
});
});
$sel.append(opts);
$('.inthis').html($sel);
});代码>
绿色
黄色的
蓝色
试试这个:
$('.generate')。单击(函数(){
var options=$('.text area').val().split('\n').map(函数(值){
返回“”+值+“”;
});
$('.inthis').text(''+options.join('')+'');
});代码>
绿色
黄色的
蓝色
使用.html()
而不是.text()
.text()呈现为纯文本。如果您需要显示html元素,请使用.html()在呈现html元素时,user.html()通过添加自己的答案来获得一个可接受的答案是一件非常糟糕的事情-尤其是当您添加的答案遵循与已添加的答案类似的逻辑时,但实际上根本不起作用。不是为了让我满意,而是为了后来的访问者,他们可能不明白为什么会接受这个答案。如果有3个以上的选项或空行怎么办?与其他同样有效的解决方案相比,这里的附加值在哪里?