0

我想在页面加载后将文本设置在文本区域值的范围内。

我有一个跨度:

<span id='message'></span>

我有一个文本区域,我使用 rails 变量为其设置值:

<%= f.text_area :text_message, value: @user.text_message, id: 'text_message' %>

页面加载后,我希望跨度的文本与文本区域文本相同。类似的东西(不起作用):

(document).ready(function() {     
  var message_text = $("#text_message").value;
    $("#message").html(message_text);
});
4

5 回答 5

1

jquery 对象没有value它在 javascript 中的定义。

使用val()函数。

var message_text = $("#text_message").val();

而且您还忘记了$与文档对象一起使用

$(document).ready(function() {     
  var message_text = $("#text_message").val()
    $("#message").html(message_text);
});

Js 小提琴演示

于 2013-10-17T12:23:36.223 回答
1

您正在尝试将DOM对象属性值与jQuery对象一起使用。您需要使用val()而不是value. 该value属性只能使用 javascript DOM 对象进行评估,而不能使用 jQuery 对象进行评估。

改变

var message_text = $("#text_message").value

var message_text =  $("#text_message").val();

或者,用于indexerjQuery对象转换为DOM对象。

var message_text = $("#text_message")[0].value;
于 2013-10-17T12:22:51.187 回答
1

在 dom 准备使用

$(document).ready(function() {     
  var message_text = $("#text_message").val();
    $("#message").text(message_text);
});

$(document).ready(function() {     
  var message_text = $("#text_message").val();
    $("#message").html(message_text);
});
于 2013-10-17T12:25:53.440 回答
1

您需要使用text()orhtml()而不是.value来获取内容。

$(document).ready(function() {     
    var message_text = $("#text_message").text();
    $("#message").html(message_text);
});

工作示例

于 2013-10-17T12:26:35.523 回答
0

用于text()设置html() DEMO的 insted 文本

$(document).ready(function() {//$ is missing here     
    var message_text = $("#text_message").value
    $("#message").text(message_text);
});

当 ypu 设置文本时,跨度将是 example0:

<span id="message">hi</span> //here hi is set as text
于 2013-10-17T12:25:08.460 回答