我试图将一个textarea的值复制到另一个没有HTML标记的值。 我做错了什么?
以下是代码:
$(document).ready(function() {
$("#go").click(function() {
var content = $("#inputdata").val;
var text = $(content).text();
$("#outputdata").val(text);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="go" value="go" />
<table id="content">
<tr>
<td>
input:<br />
<form id="inputform">
<textarea id="inputdata" name="inputdata">
<b>my bold text</b>
<i>my italic text</i>
</textarea>
</form>
</td>
<td>
output:<br />
<textarea id="outputdata" name="outputdata"></textarea>
</td>
</tr>
</table>
我想要获得的结果是:
my bold text
my italic text
答案 0 :(得分:2)
您在()
.val
$(document).ready(function() {
$("#go").click(function() {
var content = $("#inputdata").val();
var text = $(content).text();
$("#outputdata").val(text);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="go" value="go" />
<table id="content">
<tr>
<td>
input:<br />
<form id="inputform">
<textarea id="inputdata" name="inputdata">
<b>my bold text</b>
<i>my italic text</i>
</textarea>
</form>
</td>
<td>
output:<br />
<textarea id="outputdata" name="outputdata"></textarea>
</td>
</tr>
</table>
答案 1 :(得分:2)
作为jQuery 方法,您需要在val
中使用括号:
var content = $("#inputdata").val;
应该是:
var content = $("#inputdata").val();
$(document).ready(function() {
$("#go").click(function() {
var content = $("#inputdata").val();
var text = $(content).text();
$("#outputdata").val(text);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="go" value="go" />
<table id="content">
<tr>
<td>
input:<br />
<form id="inputform">
<textarea id="inputdata" name="inputdata">
<b>my bold text</b>
<i>my italic text</i>
</textarea>
</form>
</td>
<td>
output:<br />
<textarea id="outputdata" name="outputdata"></textarea>
</td>
</tr>
</table>
答案 2 :(得分:0)
创建一个虚拟元素,复制其中的内容,然后从中获取数据。它将完全满足您的需求。
$(document).ready(function() {
$("#go").click(function() {
var content = $("#inputdata").text();
var dummy = document.createElement('span');
dummy.innerHTML= content;
var text = dummy.textContent || dummy.innerText;
$("#outputdata").val(text);
});
});