有一个表单,循环出一个下拉框后,把每个 选中的下拉框的文字 赋值给name是allbatch[]的隐藏域,现在的结果,所有的结果都在一行 如何遍历使之对应 第一个select 的结果赋值给第一个allbatch
求大神帮忙,顺便看看如何简化这段 创建表格的代码。
for( i =0;i<mk_l;i++){
op+='<option value="'+mk[i]['expiry_date']+'">'+mk[i]['batch_no']+'('+mk[i]['goods_number']+')'+'</option>';
}
var tp="<select onchange='return $(\""+'#starttimeid'+($('#mainTable').find('tr').length++)+"\")[0].value= $(\"#"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+" option:selected\").val()' name='batch_no[]' id='"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+"'><option value='0'>请选批号</option>"+op+"</select>";
var list_str = "<tr id='"+($('#mainTable').find('tr').length++)+"'>"
+ "<td align='center' style='auto' >"
+ ($("#mainTable").find("tr").length++)
+ "</td>"
+ "<td align='center' style='auto' >"+tp+"<input type='hidden' name='allbatch[]' value='' /> <input type='hidden' name='goodsid[]' value='"+gd['goods_id']+"' /><input type='hidden' name='goodsname[]' value='"+gd['goods_name']+"' /></td>"
+ "<td align='center' style='auto' > <input type='text' readonly='readonly' name='starttime[]' value='' maxlength='60' size='20' id='starttimeid"+($('#mainTable').find('tr').length++)+"'/> </td>"
+ "<td align='center' style='auto' ><input type='text' name='sum[]' value='' /></td>"
+ "<td align='center' style='auto' ><input name='del' onclick='$(\"tr[id="+($('#mainTable').find('tr').length++)+"]\").remove()' type='button' value='删除'/></td>"
+ "</tr>";
$("#mainTable").append(list_str);
} $('#lastinput').click(function(){ var len= $('#mainTable').find('tr').length;
if(len <2){
alert('请添加商品');
return false;
}else{
var batch = $("select[name=batch_no[]]").find("option:selected").text();
$("input[name=allbatch[]]").val(batch);
/*$("select").each(function(){
// var batch = $("select[name=batch_no[]]").find("option:selected").text();
var batch = $(this).children("option:selected").text()
$("input[name=allbatch[]]").each(function(){
$(this).val(batch);
})
}) */selectJavaScriptinput遍历赋值
求大神帮忙,顺便看看如何简化这段 创建表格的代码。
for( i =0;i<mk_l;i++){
op+='<option value="'+mk[i]['expiry_date']+'">'+mk[i]['batch_no']+'('+mk[i]['goods_number']+')'+'</option>';
}
var tp="<select onchange='return $(\""+'#starttimeid'+($('#mainTable').find('tr').length++)+"\")[0].value= $(\"#"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+" option:selected\").val()' name='batch_no[]' id='"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+"'><option value='0'>请选批号</option>"+op+"</select>";
var list_str = "<tr id='"+($('#mainTable').find('tr').length++)+"'>"
+ "<td align='center' style='auto' >"
+ ($("#mainTable").find("tr").length++)
+ "</td>"
+ "<td align='center' style='auto' >"+tp+"<input type='hidden' name='allbatch[]' value='' /> <input type='hidden' name='goodsid[]' value='"+gd['goods_id']+"' /><input type='hidden' name='goodsname[]' value='"+gd['goods_name']+"' /></td>"
+ "<td align='center' style='auto' > <input type='text' readonly='readonly' name='starttime[]' value='' maxlength='60' size='20' id='starttimeid"+($('#mainTable').find('tr').length++)+"'/> </td>"
+ "<td align='center' style='auto' ><input type='text' name='sum[]' value='' /></td>"
+ "<td align='center' style='auto' ><input name='del' onclick='$(\"tr[id="+($('#mainTable').find('tr').length++)+"]\").remove()' type='button' value='删除'/></td>"
+ "</tr>";
$("#mainTable").append(list_str);
} $('#lastinput').click(function(){ var len= $('#mainTable').find('tr').length;
if(len <2){
alert('请添加商品');
return false;
}else{
var batch = $("select[name=batch_no[]]").find("option:selected").text();
$("input[name=allbatch[]]").val(batch);
/*$("select").each(function(){
// var batch = $("select[name=batch_no[]]").find("option:selected").text();
var batch = $(this).children("option:selected").text()
$("input[name=allbatch[]]").each(function(){
$(this).val(batch);
})
}) */selectJavaScriptinput遍历赋值
+ "<td align='center' style='auto' >"
+ ($("#mainTable").find("tr").length++)
+ "</td>"
+ "<td align='center' style='auto' >"+tp+"<input type='hidden' name='allbatch[]' value='' /> <input type='hidden' name='goodsid[]' value='"+gd['goods_id']+"' /><input type='hidden' name='goodsname[]' value='"+gd['goods_name']+"' /></td>"
+ "<td align='center' style='auto' > <input type='text' readonly='readonly' name='starttime[]' value='' maxlength='60' size='20' id='starttimeid"+($('#mainTable').find('tr').length++)+"'/> </td>"
+ "<td align='center' style='auto' ><input type='text' name='sum[]' value='' /></td>"
+ "<td align='center' style='auto' ><input name='del' onclick='$(\"tr[id="+($('#mainTable').find('tr').length++)+"]\").remove()' type='button' value='删除'/></td>"
+ "</tr>";
$("#mainTable").append(list_str);
}
这段是创建表格
for( i =0;i<mk_l;i++){
op+='<option value="'+mk[i]['expiry_date']+'">'+mk[i]['batch_no']+'('+mk[i]['goods_number']+')'+'</option>';
}
var tp="<select onchange='return $(\""+'#starttimeid'+($('#mainTable').find('tr').length++)+"\")[0].value= $(\"#"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+" option:selected\").val()' name='batch_no[]' id='"+gd['goods_id']+'_'+($('#mainTable').find('tr').length++)+"'>
<option value='0'>请选批号</option>"+op+"</select>";
这段是创建表格中的 下拉框问题是把下来框选中的内容 赋值到后面的input中去
var batch = $("select[name=batch_no[]]").find("option:selected").text();
$("input[name=allbatch[]]").val(batch);
/*$("select").each(function(){
// var batch = $("select[name=batch_no[]]").find("option:selected").text();
var batch = $(this).children("option:selected").text()
$("input[name=allbatch[]]").each(function(){
$(this).val(batch);
})
}) */就是这里怎么写
op+='<option value="'+mk[i]['expiry_date']+'">'+mk[i]['batch_no']+'('+mk[i]['goods_number']+')'+'</option>';
}
var len = $('#mainTable').find('tr').length;
var tp="<select name='batch_no[]' id='"+gd['goods_id']+'_'+(len++)+"'><option value='0'>请选批号</option>"+op+"</select>";
下面绑定change
$('select').change(function(){
var selected = $(this).find('option:selected').text();
var td = $(this).parent();
td.find('input[name=allbatch[]]').val(selected);
});
$('select').change(function(){
var selected = $(this).find('option:selected').text();
var td = $(this).parent();
td.find('input[name=allbatch[]]').val(selected);
}); 这段没有绑定上
之前
var batch = $("select[name=batch_no[]]").find("option:selected").text();
$("input[name=allbatch[]]").val(batch);的返回值是这个样子的
[allbatch] => Array
(
[0] => 2323(2)3(1)
[1] => 2323(2)3(1)
)