从textarea获取val()

时间:2013-08-01 08:10:15

标签: jquery

HTML:

<textarea name="input" cols="50" rows="10" id="input"></textarea>
<input name="submit" id="submit" type="button" value="Go" />
<br /><br />
<textarea name="output" cols="50" rows="10" id="output"></textarea>

然后我在浏览器的(#input textarea)中输入以下html。如何单击go按钮并通过id block1获取“Some text 1”并将其显示在(#output textarea)中。

<div id="block1">Some text 1<div>
<div id="block2">Some text 2<div>

JS:

$('#submit').click(function(){
$('#output').val( {{{#input.val-->#block1.val}}} );
});

我的目标是在#input textarea中输入一些html,然后它将用#output textarea中的id和输出替换文本....

4 个答案:

答案 0 :(得分:3)

好的,你的问题有点令人困惑,但我想我明白了。您希望在textarea中键入HTML,然后使用JQuery解析它以获取block1的值,然后将其输出到另一个textarea中。

这将有效:

//get the input value (html)
var input = $("#input").val();

//convert to JQuery object
var html = $("<div/>");
html.html(input);

//get the value of block1
var block1 = html.find("#block1").text();

//set this to output
$("#output").val(block1);

Here is a working example,但您需要确保输入的HTML有效...

<div id="block1">Some text 1</div>
<div id="block2">Some text 2</div>

请注意使用</div>

答案 1 :(得分:0)

您需要从textarea获取.val(),通过使用$()方法包装它来解释为jQuery对象,然后过滤此对象

var theTextareaHTML = $('#input').val();
var $HTMLasObject = $('<div/>').html(theTextareaHTML);
var contentFromblock1 = $HTMLasObject.find('#block1').text();
$('#output').val(contentFromblock1);

编辑:感谢musefan

,添加了缺少的包装元素 编辑:对不起,还有一个小故障。这个应该做的伎俩(http://jsbin.com/ecuqug/1

答案 2 :(得分:-1)

显示另一个textarea的值:

$('#output').val($('#input').val());

显示textarea中一个元素的内部HTML:

$('#output').val($('#myelem').html());

仅显示文字:

$('#output').val($('#myelem').text());

Click here to read about val().

答案 3 :(得分:-2)

尝试以下:

$('#submit').click(function(){
  var $inp = $("#input");    
  var $div = $("<div/>",{"html":$inp.val(), "id":"block1"});    
  $("#output").val( $div.html() + " By " + $div.attr("id"));
});

在这里工作小提琴:http://jsfiddle.net/3b5cV/2/