在文本框中使用JS进行自动完成。所有工作正常,但我想添加另外2个不同的文本框与页面自动完成。没有工作,也没有给出任何特定的错误,如果任何人都可以查看代码并纠正我会很好的话,可能会丢失一些逗号或其他东西。感谢
<div class="form-group">
@Html.LabelFor(x => x.ProductRecord_Name)
@Html.TextBoxFor(x => x.ProductRecord_Name, new { @class = "form-control uppercase" })
@Html.HiddenFor(x => x.ProductRecord_Id)
@Html.ValidationMessageFor(x => x.ProductRecord_Id)
</div>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
var products = [
@{
bool addComma1 = false;
foreach (StockControl.Models.ProductRecord product in Model.ProductRecords)
{
if (addComma1)
{
<text> @Html.Raw(",") </text>
}
<text> @Html.Raw(string.Format("{{ value: \"{0}\", label: \"{1}\" }}", product.Id, product.Name)) </text>
addComma1 = true;
}
}
];
$("#ProductRecord_Name").autocomplete({
minLength: 0,
source: customers,
focus: function (event, ui) {
$("#ProductRecord_Name").val(ui.item.label);
return false;
},
select: function (event, ui) {
$(this).val(ui.item.label).change();
$("#ProductRecord_Id").val(ui.item.value);
return false;
}
});
</script>
当我尝试向JS添加更多代码时,这一切都工作精细的问题...不确定实际布局,是否每个其他或单独$(文件)之后的阵列。(功能()功能: (这看起来是否正确......无法看到我的MISSIG ......
<script type="text/javascript" language="javascript">
$(document).ready(function () {
var products = [
@{
bool addComma1 = false;
foreach (ACCS.StockControl.Models.ProductRecord product in Model.ProductRecords)
{
if (addComma1)
{
<text> @Html.Raw(",") </text>
}
<text> @Html.Raw(string.Format("{{ value: \"{0}\", label: \"{1}\" }}", product.Id, product.Name)) </text>
addComma1 = true;
}
}
];
var unitsOfSale = [
@{
bool addComma2 = false;
foreach (ACCS.StockControl.Models.UnitOfSaleRecord unit in Model.UnitOfSaleRecords)
{
if (addComma2)
{
<text> @Html.Raw(",") </text>
}
<text> @Html.Raw(string.Format("{{ value: \"{0}\", label: \"{1}\" }}", unit.Id, unit.Name)) </text>
addComma2 = true;
}
}
];
var caseSizes = [
@{
bool addComma3 = false;
foreach (ACCS.StockControl.Models.CaseSizeRecord caseSize in Model.CaseSizeRecords)
{
if (addComma3)
{
<text> @Html.Raw(",") </text>
}
<text> @Html.Raw(string.Format("{{ value: \"{0}\", label: \"{1}\" }}", caseSize.Id, caseSize.Description)) </text>
addComma3 = true;
}
}
];
$("#ProductRecord_Name").autocomplete({
minLength: 0,
source: products,
focus: function (event, ui) {
$("#ProductRecord_Name").val(ui.item.label);
return false;
},
select: function (event, ui) {
$(this).val(ui.item.label).change();
$("#ProductRecord_Id").val(ui.item.value);
return false;
}
});
$("#UnitOfSaleRecord_Name").autocomplete({
minLength: 0,
source: unitsOfSale,
focus: function (event, ui) {
$("#UnitOfSaleRecord_Name").val(ui.item.label);
return false;
},
select: function (event, ui) {
$(this).val(ui.item.label).change();
$("#UnitOfSaleRecord_Id").val(ui.item.value);
return false;
}
});
$("#CaseSize_Name").autocomplete({
minLength: 0,
source: caseSizes,
focus: function (event, ui) {
$("#CaseSize_Name").val(ui.item.label);
return false;
},
select: function (event, ui) {
$(this).val(ui.item.label).change();
$("#CaseSize_Id").val(ui.item.value);
return false;
}
});
</script>
答案 0 :(得分:1)
您是否曾使用过firebug(或其他Web开发工具)来逐步调试该代码?检查这些数组的内容。
您是否显示了所有相关代码?
您将customers
指定为$("#ProductRecord_Name")
的来源,但我只看到var products
。