如何将文本框更改为textarea

时间:2014-03-04 07:12:04

标签: javascript jquery html

我使用以下代码从下拉列表中选择字体系列到文本框。现在我想用textarea代替文本框。我怎么能这样做?

<HTML>
<head>


<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>


<script>
$(function () {
    $('select[name="font"]').on('change', function () {
        $('input[name="text1"]').css('font-family', this.value);
    });
});
</script>
</head>



<body>
Select Programming font:
<select name="font">
    <option value="arial">arial black</option>
    <option value="tohma">tahoma</option>
    <option value="times new roman">times new roman</option>
    <option value="calibri">calibri</option>
</select>



<br>EnterValue:
 <input type="text" name="text1" value="Font Family">

</body>
</html>

我试过

5 个答案:

答案 0 :(得分:0)

您可以更改:

<input type="text" name="text1" value="Font Family" />

为:

<textarea>Font Family</textarea>

然后使用:

$('textarea').css('font-family', this.value);

而不是:

$('input[name="text1"]').css('font-family', this.value);

<强> Fiddle Demo

答案 1 :(得分:0)

尝试,

<textarea name="text1" id="text1">Font Family</textarea>

答案 2 :(得分:0)

<input id="text-input" type="text" name="text1" value="Font Family">

var value = $('#text-input').val();
$('#text-input').replace('<textarea id="text-input" name="text1"></textarea >');
$('#text-input').val(value);

答案 3 :(得分:0)

您可以使用replaceWith方法从输入框更改为textarea,如下所示:

$('input[name="text1"]').replaceWith('<textarea />');

答案 4 :(得分:0)

尝试这样的事情

function t2t( el ) {
    var element = document.getElementById( el.id );
  var parent = element.parentNode;
  parent.removeChild( element );
  parent.innerHTML = element.type == 'text' ? '<textarea id="' + element.id + '" cols=50 rows=5>' + element.value +'</textarea>' : '<input type="text" id="' + element.id + '"  value="' + element.value + '" />';
}
相关问题