Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery:convert textarea(用新行分隔)以选择选项菜单_Javascript_Jquery - Fatal编程技术网

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个以上的选项或空行怎么办?与其他同样有效的解决方案相比,这里的附加值在哪里?