设置动态生成的DIV输入域的值
问题描述:
尊敬的专家, 我跟随Mr.Steve Sanderson Example处理可变长度列表,ASP.NET MVC 2样式。设置动态生成的DIV输入域的值
在我的情景中,我有一个文本框,其中用户扫描条形码扫描仪,扫描的条形码值将分布在变量列表输入字段中。
我使用JQuery设置这些产生的场的值,动态地生成的DIV的
实施例是
<div class="editorRow">
<input type="hidden" name="gifts.index" autocomplete="off" value="a041d40e-d016-4543-b3f1-bf72239e1377" />
Area Code <input id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__AreaCode" name="gifts[a041d40e-d016-4543-b3f1-bf72239e1377].AreaCode" type="text" value="0" />
Account No: <input id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__ConsCode" name="gifts[a041d40e-d016-4543-b3f1-bf72239e1377].ConsCode" type="text" value="0" />
Amount: <input id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__CAmount" name="gifts[a041d40e-d016-4543-b3f1-bf72239e1377].CAmount" type="text" value="0" />
Coll No: <input Value="1" id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__CollNo" name="gifts[a041d40e-d016-4543-b3f1-bf72239e1377].CollNo" type="text" value="1" />
<a href="#" class="deleteRow">delete</a>
<span class="field-validation-valid" id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__AreaCode_validationMessage"></span>
<span class="field-validation-valid" id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__ConsCode_validationMessage"></span>
<span class="field-validation-valid" id="gifts_a041d40e-d016-4543-b3f1-bf72239e1377__CAmount_validationMessage"></span>
如果看到存在具有索引和值的一个隐藏字段= “a041d40e-d016-4543-b3f1-bf72239e1377”,这在其他成员的名字中很常见。当我再添加一个DIV时,隐藏的输入值再次改变,并且该div的所有成员具有相同的公共值。
我坚持如何处理它,到目前为止,我已经成功地分发扫描条码的价值的输入框而这超出这样的动态的DIV的一面:
$("#ScanBCode").keyup(function (e) {
barCode = $("#ScanBCode").val();
if (barCode.length == 21) {
var count = 1;
Checking(count);
}
function Checking(count) {
var code = barCode.substr(2, 3);
var ACode = barCode.substr(5, 3);
var Ccode = barCode.substr(8, 5);
var Amount = barCode.substr(13, 8)/1000;
$("#TabACode").val(ACode);
$("#TabCCode").val(Ccode);
$("#TabAmount").val(Amount);
$("#TabCollNo").val(code);
$("#ScanBCode").val("");
}
});
任何想法
答
不知道wheter我得到这个权利,但似乎你正在寻找一种方式来遍历一个jQuery集合,可以使用jQuery.each完成。
因此,我建议循环遍历所有生成的'字段',而不是注意在输入字段上生成的一些ID,而不是通过它们的类editorRow
进行验证。只是注意,而不是每个输入字段一个单独的ID,你必须设置一些班级在他们身上,例如:
<div class="editorRow">
<!-- set a class on your input fields -->
Area Code <input class="areaCode" type="text" value="..." />
</div>
现在还能用自己keyup
处理器内的以下JavaScript:
$('.editorRow').each(function(){
var $row = $(this);
$('.areaCode', $row).val('somevalue'); //do this for all of your input fields
});
只是回来的情况下,在这里不清楚的东西。
答
你是伟大的工作罚款我的工作代码,
$("#ScanBCode").keyup(function (e) {
barCode = $("#ScanBCode").val();
if (barCode.length == 21) {
var code = barCode.substr(2, 3);
var ACode = barCode.substr(5, 3);
var Ccode = barCode.substr(8, 5);
var Amount = barCode.substr(13, 8)/1000;
$('.editorRow').each(function() {
var $row = $(this);
var chk = $('.text-box-Area', $row).val();
//alert(chk);
if (chk == 0) {
$('.text-box-Area', $row).val(ACode);
$('.text-box-Cons', $row).val(Ccode);
$('.text-box-coll', $row).val(code);
$('.text-box-Amount', $row).val(Amount);
$("#ScanBCode").val("");
}
});
}
});
我要投票你的答案,但它需要15的声誉,我只有5现在:( – alhashmiya 2011-03-30 10:37:07
感谢..你的答案对我的帮助很多..再次感谢先生 – 2015-01-22 06:43:30