在以下代码中,
<script>
function val()
{
//get alltextarea to validate
}
$(document).ready(function() {
var html= '<form>'
html += '<textarea name="test" id="test"';
html += '<textarea name="test1" id="test1"';
html += 'form';
$('#get_div').append();
});
</script>
<div id= "get_div"></div>
<input type="button" onclick="val();"
这两个textareas是动态生成的。现在如何在函数val中验证它。当我执行$('#test')。val()或document.getElementbyId(test).value我找不到的值文本域
谢谢..
答案 0 :(得分:3)
您没有生成有效的HTML,但存在一些问题:
<textarea>
元素未关闭。<form>
元素未关闭onclick
没有正确装配(无论如何都是通过jQuery完成的)这是一个更正版本,其中包含有效的更改:
jQuery的:
$(document).ready(function() {
var html= '<form>'
html += '<textarea name="test" id="test"></textarea>';
html += '<textarea name="test1" id="test1"></textarea>';
html += '</form>';
$('#get_div').append(html);
$("input").click(function() {
alert($('#test').val());
});
});
HTML:
<div id= "get_div"></div>
<input type="button" Value="TestBtn" />
答案 1 :(得分:1)
您无法区分动态创建的元素与普通标记元素之间的差异。我建议你做的是使用标记类:
$(function() {
$("textarea").addClass("static");
...
});
动态创建没有静态类的文本区域。这当然是一个合作计划,因为没有什么可以阻止你用静态类创建动态标记,但是,就像我说的那样,你无法做任何事情。