遍历 数据的高级写法。 用于table的tr或者 div list 中的item
不用写for循环。还可以跳过某个特定的节点。
function record_select_array_row_data(){ $("#select_drawing table tbody tr:not([p])").each(function() { var drawingid = $(this).attr("drawingid"); var row = $(this).attr("row"); if (typeof drawingid === "undefined") { } else { var chuku_weight = $(this).find('input[type="text"]').eq(0).val(); var chuku_num = $(this).find('input[type="text"]').eq(1).val(); var ycl_id = $(this).attr("ycl_id"); //遍历select_array 找到row对应 的数据,设置数据。 drawingid chuku_w chuku_num ycl_id // 遍历 select_array 找到 row 对应的数据,设置数据 var rowData = select_array.find(function(item) { return item.row == row; }); if (rowData) { rowData.drawingid = drawingid; rowData.chuku_weight = chuku_weight; rowData.chuku_num = chuku_num; rowData.ycl_id = ycl_id; } } }); }
//定时记录用户输入的数据。 function record_select_array_row_data(){ $("#ruku_list table tbody tr").each(function() { var tr_row = $(this).attr("row"); var biaozhun = $(this).find('input[type="text"]#biaozhun').eq(0).val(); var guige =$(this).find('input[type="text"]#guige').eq(0).val(); var weight = $(this).find('input[type="text"]#weight').eq(0).val(); var number1 =$(this).find('input[type="text"]#number1').eq(0).val(); var danjia = $(this).find('input[type="text"]#danjia').eq(0).val(); var zongjia =$(this).find('input[type="text"]#zongjia').eq(0).val(); var material_id = $(this).find('select#material_id').eq(0).val(); var supplier_id =$(this).find('select#supplier_id').eq(0).val(); }); } 这样的写法,可能input有缓存值。因为有#bianhao $(this).find('input[type="text"]').eq(0).val(); 不如用这样的写法。这样就没有缓存 值。
$('input[type="text"]').each(function() { console.log("init_num_each"); var $this = $(this); var tr = $this.closest('tr'); var ycl_id = tr.attr('ycl_id'); //根据ycl_id 查询数据有没有记录加载 $.post('/admin/duan/da/find/by/ycl_id',{ycl_id:ycl_id},function(result){ if(result.success){ $this.val(result.duanDaKu.num); } },'json'); });
这是遍历 tr所有的tr p的属性是1 <tr p="1" ycl_id="10" draw_id="15872"><td colspan="8" style=" text-align: right;"> //初始化input的值,之前写的值。 function init_num(){ console.log("init_num"); $('tr[p="1"]').each(function() { var $tr = $(this); // 保存$(this)的引用 var ycl_id = $tr.attr('ycl_id'); console.log("原材料出库id"+ycl_id); // 进行赋值操作 // 例如,将获取的值赋给其他 input 元素 //根据ycl_id 查询数据有没有记录加载 $.post('/admin/duan/da/find/by/ycl_id',{ycl_id:ycl_id},function(result){ if(result.success){ $tr.find('input#num').val(result.duanDaKu.num); $tr.find('input#weight').val(2); $tr.find('input#danjia').val(3); $tr.find('input#zongjia').val(4); } },'json'); }); }
//初始化删除按钮操作 function init_del_click() { var delList = $("#data_list ").find("button#del"); console.log("delList长度::" + delList.size()); $(delList).click(function () { console.log($(this)); if(save_flag){ return; } //执行删除本行操作 var tr_row = $(this).closest("tr").attr("row"); $(this).closest("tr").remove(); // 删除当前行 tr_row = parseInt(tr_row); select_array = select_array.filter(function(item) { return item.row !== tr_row; }); }); }
$("#data_list table tbody tr:eq(" + row_index + ") td:eq(0)").html(`下标是:${row_index},设备id:${data.shebei_id} ,设备名称:${data.shebei_name}`);
function init_click_event(){ $(".indicator span").each(function(index) { $(this).off("click").on("click",function(){ console.log(index);//输出下标 moveTo(index); }) }); } $(".indicator span").each(function(index, element) { // index: 当前元素的索引 // element: 当前遍历到的 DOM 元素(非 jQuery 对象) // 如果你需要使用 jQuery 方法,可以这样做: var $element = $(element); // 现在你可以使用 $element 来调用 jQuery 方法了 $element.off("click").on("click", function() { console.log(index); // 输出当前 span 的下标 }); });
站长微信:xiaomao0055
站长QQ:14496453