jquery - 从文本框中获取Html值并附加到表

时间:2016-09-26 14:30:40

标签: jquery

我有一个文本框(id = textBox1),可以输入html字符串。例如:<i> Country </i>

有没有办法使用jQuery获取此值并将其附加到表中。 例如:我可以获得$('#textBox1').val() = <i>Country</i>

然而,当我附加到表格时,html样式已被应用并以斜体形式存储Country。我不想剥离html标签。它应该如表中所示。

var text1= $("#text1").val();
var text2= $("#text2").val();

$("#tablePost > tbody").append("<tr data-key='" + text1+ "' data-value='" + value + "'><td>" + key + "</td><td>" + text2 + "</td></tr>"); 

注意:这应该支持向表中添加多行。

4 个答案:

答案 0 :(得分:3)

通过val()获取价值,并通过val(newVal)设置值。

var value = $('#textBox1').val(); // getter
$('#textBox1').val("<i>Country</i>"); // setter

答案 1 :(得分:0)

你可以使用.val方法而不传入任何参数,它应该返回输入字段中的任何内容。

var textBox1Value = $('#textBox1').val()

将返回当时的内容。

查看http://api.jquery.com/val/以获取有关使用.val()方法的更多信息。

编辑:

我认为你的追加方法是逃避/忽略HTML。你可以尝试使用.createTextNode方法解决这个问题。

请尝试使用此代码:

$("#tablePost > tbody").append(
    "<tr data-key='" + text1 
    + "' data-value='" + document.createTextNode(value) 
    + "'><td>" + key 
    + "</td><td>" + text2 
    + "</td></tr>"
); 

jQuery实际上在其自己的库中使用了document.createTextNode()。我认为这可能会解决你的问题。

我只是把它包裹在你的价值之中&#39;变量。您需要对其他任何示例都这样做。

旁注:.val()不应该删除任何HTML,同样使用.append也不应该。

答案 2 :(得分:0)

在表中存储html值的方法之一是: 为单元格生成随机ID并将其附加到表格然后向表格添加文本

var text1= $("#text1").val();
var text2= $("#text2").val();
var trId = Math.floor(Math.random() * 9999);

$("#tablePost > tbody").append("<tr data-key='" + text1+ "' data-value='" + value + "'><td>" + key + "</td><td id = "+ trId + "></td></tr>"); 

$("#"+ trId).text(text2)

答案 3 :(得分:-1)

您似乎想在文本框中删除HTML标记,如果是这样,您可以使用Regex,

var val = $('#textBox1').val().replace(/(<([^>]+)>)/ig,"");

如果没有,像其他人建议只使用

var val = $('#textBox1').val()