我得到了这个HTML:
<div id="mydiv" name="mydiv" class="mydiv"></div>
我正在赞美:
$(".mydiv").append("<div><p><textarea id='myTextarea' name='myTextarea'></textarea><input type='button' class='sendReply btn btn-default' value='my button'></input></p></div>");
现在我想通过它的名字从我的textarea元素中获取值...我试过这个,但是不起作用:
jQuery(document).on('click','.sendReply', function () {
alert($("#mydiv").children("#myTextarea").val());
});
出了什么问题?
答案 0 :(得分:2)
当前代码无效,因为.children()
正在使用,仅针对直接孩子。
由于您已指定ID属性,因此可以使用它直接访问
console.log($("#myTextarea").val());
如果要多次追加,请使用DOM traveal方法来定位元素。由于重复的ID会使HTML无效。
jQuery(document).on('click', '.sendReply', function() {
console.log($(this).prev("textarea").val());
});
$(".mydiv").append("<div><p><textarea id='myTextarea' name='myTextarea'></textarea><input type='button' class='sendReply btn btn-default' value='my button'></input></p></div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv" name="mydiv" class="mydiv"></div>
答案 1 :(得分:1)
如果您仍然向textarea
提供了具体的ID
,则无需参考div children
。您可以使用ID
:
这是一个工作片段:
$(".mydiv").append("<div><p><textarea id='myTextarea' name='myTextarea'></textarea><input type='button' class='sendReply btn btn-default' value='my button'></input></p></div>");
jQuery(document).on('click','.sendReply', function () {
alert($("#myTextarea").val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv" name="mydiv" class="mydiv"></div>
答案 2 :(得分:1)
您可以使用解决方案
$mPDF1 = Yii::app()->ePdf->mpdf();
$mPDF1 = Yii::app()->ePdf->mpdf('', 'A4');
$html= $this->renderPartial('poPdfTemplate', array('pdfValues'=>$ponumberData,'po_number'=>$po_number), true);
$mPDF1->WriteHTML($html,0);
//$mPDF1->WriteHTML($html);
$mPDF1->Output();
$(".mydiv").append("<div><p><textarea id='myTextarea' name='myTextarea'></textarea><input type='button' class='sendReply btn btn-default' value='my button'></input></p></div>");
jQuery(document).on('click','.sendReply', function () {
alert($("#mydiv").find("#myTextarea").val());
});
应该是<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv" name="mydiv" class="mydiv"></div>
而不是alert($("#mydiv").find("#myTextarea").val());
用于遍历使用alert($("#mydiv").children("#myTextarea").val());
方法而不是.find
。
希望这会对你有所帮助。
答案 3 :(得分:1)
children()
只能为您提供只有子属性的属性,如果您不知道子属性的级别而不是find()
children()
方法
alert($("#mydiv").find("#myTextarea").val());
OR
它可以直接访问
alert($("#myTextarea").val());
答案 4 :(得分:0)
尝试使用textarea的id选择器。它正在发挥作用。
$(".mydiv").append("<div><p><textarea id='myTextarea' name='myTextarea'></textarea><input type='button' class='sendReply btn btn-default' value='my button'></input></p></div>");
jQuery(document).on('click','.sendReply', function () { alert($("#myTextarea").val());
});
&#13;
<div id="mydiv" name="mydiv" class="mydiv"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
&#13;