如何在焦点上保存最后一个元素的值
How to save the value of the last element on focus
我有什么
我有一个用于订购零件的表单,您可以在键入文章代码时通过 ajax 显示有关零件的信息。这些数据显示在表格中,接下来您可以在表格中选择可用的供应商,然后单击要选择的供应商。
在此之后,您可以选择添加更多重复此过程的部分。
我想要什么
由于当您选择添加更多部件时,输入字段是动态添加的,因此我需要知道正在使用哪个输入。在正常情况下,您将始终使用最后一个输入,但可能会发生您想要更改预先输入的文章代码的情况,因此如果是这种情况,我想为用户提供将供应商更改为相应输入而不是最后一个输入的选项。
我尝试了什么
我想出了使用焦点事件选择输入的想法,这样做的问题是,当输入被聚焦并且比我要去表格并单击另一个供应商时,输入会失去焦点,因此不知道在哪里放置值。
HTML(仅相关代码)
Article code <input name='article_code[]' type='text' class='article_code'>
Description <input type='text' class='article_description' name='article_description[]' value='No articlecode specified' READONLY>
Supplier <input type='text' class='supplier_output' name='supplier_outputt[]' value='No supplier specified' READONLY>
<table id='supplier_table' class='sortable' width='100%'>
<THEAD>
<tr valign='top'>
<th width='25%'>Supplier</th>
<th width='25%'>Mainsupplier</th>
<th width='25%'>Price</th>
<th width='25%'>Article code</th>
</tr>
</THEAD>
<TBODY >
</TBODY>
</table>
JavaScript
$('#supplier_table').on('click', 'tbody tr', function(){
var tableData = $(this).children('td').map(function() {
return $(this).text();
}).get();
var selectedSupplier = $.trim(tableData[0]);
var supplier_val;
if($('.article_code').is(':focus')){
supplier_val = $(this).closest('tr').next().next().find('.supplier_output');
$(supplier_val).val(selectedSupplier);
} else {
$('.supplier_output').last().val(selectedSupplier);
}
});
所以基本上我需要将最后一个元素的值存储在焦点上。
不确定我是否正确理解了您的问题。但也许我可以帮助你从另一个方向思考。使用模糊事件。然后将最后一个模糊的文章代码存储在 last_val 变量中:
$('.article_code').on('blur', function(){ last_val = this.value; })
相关文章:
- 表追加而不附加最后一个元素
- 如何查找流星集合中最后一个元素/对象的id
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 在元素数组上循环只会影响最后一个元素
- 推特引导滚动间谍总是选择最后一个元素
- 选择页面上具有特定类的最后一个元素
- 检查 JQuery 每个函数中的最后一个元素
- 选择表中的最后一个元素
- forEach 仅执行数组的最后一个元素
- JavaScript,数组和函数 - 只有数组的最后一个元素有效
- jQuery - 选择具有相同 ID 的组的最后一个元素
- 第一个元素和最后一个元素之间的连续循环
- 在JavaScript数组中查找最后一个元素的计算效率最高的方法
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 如何在jquery中读取Section中的最后一个元素
- 设置'字体大小'jQuery不处理所选Text的最后一个元素
- AJAX只将数组的最后一个元素传递给MVC 5控制器
- 移除嵌套数组的最后一个元素,并完成最后一个数组
- PHP:获取关联数组中最后一个元素
- jquery slideDown()遍历最后一个元素