将太多的JS函数添加到一个 - 不工作

时间:2013-11-08 10:09:55

标签: javascript jquery autocomplete

在文本框中使用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>

1 个答案:

答案 0 :(得分:1)

您是否曾使用过firebug(或其他Web开发工具)来逐步调试该代码?检查这些数组的内容。

您是否显示了所有相关代码?

您将customers指定为$("#ProductRecord_Name")的来源,但我只看到var products