Uncaught TypeError:无法读取未定义的javascript的属性“选项”

时间:2018-08-29 10:41:19

标签: javascript jquery function uncaught-typeerror

一切正常,但功能有时会出现问题。这样就无法单击按钮并从列表中选择一个值。我尝试调试它,但控制台中什么也没有返回。

_getSimpleProductId: function (element) {
        var allOptions = element.config.options,
            value = element.value,
            config;

        config = _.filter(allOptions, function (option) {
            return option.id === value;
        });
        config = _.first(config);

        return _.isEmpty(config) ?
            undefined :
            _.first(config.allowedProducts);

    }

发生错误:

  

未捕获的TypeError:无法读取未定义的属性“选项”

我认为我必须将问题更改为“我做错了什么?”。

2 个答案:

答案 0 :(得分:0)

您应该将检查element.config为空

var allOptions = element.config ? element.config.options : null;

似乎并非总是在您的代码中定义

答案 1 :(得分:0)

您的问题是 private void dg_CellClick(object sender, DataGridViewCellEventArgs e) { tblNamesBS.Position = e.RowIndex; } string Result = ComboSearch.Text; DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(sqlconnect); SqlDataAdapter da = new SqlDataAdapter(); con.Open(); da.SelectCommand = new SqlCommand("SELECT * FROM TestDataTable WHERE CustomerName LIKE + '%' + '" + Result + "' + '%' ", con); ds.Clear(); da.Fill(ds); dg.DataSource = ds.Tables[0]; TxtBoxCustomer.DataBindings.Clear(); BindingSource tblNamesBS = new BindingSource(); TxtBoxCustomer.DataBindings.Add(new Binding("Text", tblNamesBS, "CustomerName")); private void button3_Click(object sender, EventArgs e) { tblNamesBS.MoveNext(); dgUpdate(); } private void button4_Click(object sender, EventArgs e) { tblNamesBS.MovePrevious(); dgUpdate(); } private void dgUpdate() { dg.ClearSelection(); dg.Rows[tblNamesBS.Position].Selected = true; dg.FirstDisplayedScrollingRowIndex = dg.SelectedRows[0].Index; } 。 您可以使用Basem的anwser(这将完全起作用),也可以找到问题的根源。

对我来说,您似乎希望其余代码中有element.config,所以我将选择第二种解决方案。

干杯!