我正在使用textarea来获取用户输入。并希望逐行阅读。 但它没有显示任何东西 我想在不同的行中创建一个逗号分隔的文本列表
JS:
$('input[type=button]').click( function() {
string = document.getElementById("hi").val();
alert(string);
var html="";
var lines = $('#id').val().split('\n');
for(var i = 0;i < lines.length;i++){
//code here using lines[i] which will give you each line
html+=lines[i];
html+=",";
}
$("#inthis").html(string);
});
HTML:
<textarea id="hi" name="Text1" cols="40" rows="5" placeholder="enter one wdg in one line" ></textarea>
<input type="button" value="test" />
<div id="inthis"></div>
这是jsfiddle:
答案 0 :(得分:4)
这是更新的js ......
$('input[type=button]').click(function () {
var html = "";
var lines = $('#hi').val().split('\n');
for (var i = 0; i < lines.length; i++) {
//code here using lines[i] which will give you each line
html += lines[i];
html += ",";
}
html = html.substring(0,html.length-1);
$("#inthis").html(html);
});
答案 1 :(得分:1)
首先,您的示例中混合了本机javascript和jQuery代码。原生DOM元素没有val()
方法,例如jQuery。其次,您只需使用split()
和join(',')
即可大规模简化代码。试试这个:
$('input[type=button]').click( function() {
var string = $("#hi").val().split('\n').join(',');
$("#inthis").html(string);
});
答案 2 :(得分:0)
.val()
是一个Jquery函数,您必须将DOM元素转换为jquery obj或使用.value
$('input[type=button]').click(function () {
string = $(document.getElementById("hi")).val();
string = string.replace("\n", ",")
$("#inthis").html(string);
});
答案 3 :(得分:0)
更改:强>
string = document.getElementById("hi").val();
以强>
string = document.getElementById("hi").value;
答案 4 :(得分:0)
第二行有错误你使用了jQuery val而不是值,所以请尝试下面: -
string = document.getElementById("hi").value;
并且需要在div。中加载字符串之前放下以下行: -
html = html.substring(0,html.length-1);
答案 5 :(得分:0)
http://jsfiddle.net/pUeue/1085/
$('input[type=button]').click( function() {
string = $(document.getElementById("hi")).val();
alert(string);
var htmlD="";
var lines = string.split('\n');
for(var i = 0;i < lines.length;i++){
//code here using lines[i] which will give you each line
htmlD+=lines[i];
htmlD+=",";
}
$("#inthis").html(htmlD);
});
答案 6 :(得分:0)
我已在此处更正了您的代码:http://jsfiddle.net/pUeue/1080/。
$('input[type=button]').click( function() {
string = $("#hi").val();
alert(string);
var html="";
var lines = $('#hi').val().split('\n');
for(var i = 0;i < lines.length;i++) {
//code here using lines[i] which will give you each line
html+=lines[i];
html+=",";
}
$("#inthis").html(html);
});
答案 7 :(得分:0)
试试这个
$('input[type=button]').click( function() {
var lines = $('#hi').val().split(/\n/);
$("#inthis").html(lines.join(","));
});