我正在开发一个发票系统,并且我已经进入了订单项的一部分。更换后重新设置使用
为此,我有一个表格,最终会有一个按钮来动态添加另一个行项目到DOM。
直到那时,我试图从单个订单项中解决问题。就我而言,它是笔记部分。
对于笔记的输入,我有一个P标签与一些文本和onclick该元素替换它与textarea。
<h2>line items</h2><hr>
<table id='lineitems'>
<tr>
<th>Order #</th>
<th>Style #</th>
<th>Item Name/Description</th>
<th>Quantity</th>
<th>Cost</th>
</tr>
<tr>
<td><input type='text' name='ladingnum' /></td>
<td><input type='text' name='invoicenum' /></td>
<td><input type='text' name='invoicenum' style='width:300px;'/></td>
<td><input type='text' name='invoicenum' /></td>
<td><input type='text' name='invoicenum' /></td>
</tr><tr><td colspan=4>
<div id='thenotes'>
<input type='hidden' class='comments' name='notes'/>
<textarea class='comments'></textarea>
<p class='edit'>[ click here to add notes ]</p>
</div>
</td></tr>
</table>
这是我正在使用的jQuery。
$(document).on('click', '.edit', function() {
var odata = $(this).closest("input:hidden").val();
if(odata == undefined) odata = '';
$(this).closest("textarea.comments").val(odata).focus();
});
$(document).on('focusout', '.liveedit', function() {
var idata = $(this).val();
if(idata == '') idata = "[ click here to add notes ]";
$(this).prevAll("input:hidden").val(idata);
$(this).replaceWith("<p class='edit'>"+idata+"</p>");
});
使用这个,我得到了这个效果。
页面正在加载... P标签的默认内容是点击此处添加注释。点击它会变成一个textarea,它包含隐藏字段中的任何内容。它也应该专注于这个新创建的textarea ......它不是专注于!
最重要的。我似乎无法得到textarea的价值进入隐藏的输入字段...我做错了什么?
是!谢谢。 – dockeryZ