我有一个文本框(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>");
注意:这应该支持向表中添加多行。
答案 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()