ng-change event不在Dropdown上工作

时间:2016-05-19 11:33:18

标签: javascript angularjs

我正在创建一个下拉列表,其中包含两个选项employee和customer如果是用户,那么新文本框应该打开,即员工ID,如果是文本框应该隐藏的客户。 我正在使用Angular JS这是我的HTML文件。

下拉代码

    $scope.identityProvider=['EMPLOYEE','Customer'];

       $scope.changedValue = function(item) {
                    alert("M into change");
                    $scope.itemList.push(item.name);
                  }  

文本框代码

public void DynamicallyTable()
        {
            // create table dynamically
            dt = new DataTable();
            // add column name
            dt.Columns.Add(COLUMN1, typeof(int));
            dt.Columns.Add(COLUMN2, typeof(string));
            dt.Columns.Add(COLUMN3, typeof(string));
            dt.Columns.Add(COLUMN4, typeof(string));
            dt.Columns.Add(COLUMN5, typeof(string));
            dt.Columns.Add(COLUMN6, typeof(string));
            dt.Columns.Add(COLUMN7, typeof(int));

            dataGridView1.DataSource = dt;
        }

JS文件数据

cmd.CommandType = CommandType.Text;
                connection.Open();
                cmd.Parameters.Add("@hut", SqlDbType.Int).Value = 4;
                cmd.Parameters.Add("@spisanie_id", SqlDbType.BigInt).Value = IDtextBox.Text;
                cmd.Parameters.Add("@prichanie_spis", SqlDbType.NVarChar).Value = PrichinatextBox.Text;
                cmd.Parameters.Add("@data_spis", SqlDbType.Date).Value = dateEdit.Text;
                rdr = cmd.ExecuteReader(); //this error shows here
                while (rdr.Read())
                {
                    dataGridView1.Rows.Add((string)rdr["Prichina"], (string.Format("{0:yyyy-MM-dd}", rdr["data"])));                   
                }

2 个答案:

答案 0 :(得分:3)

select代码中添加ng-change,

<select id="selectIdentity" name="selectIdentity" ng-change="changedValue(identityprovider)" ng-model="identityprovider" required>
</select>

答案 1 :(得分:0)

Angular Select doc

  

select指令与ngModel一起使用   范围与控制之间的数据绑定(包括   设置默认值)。

因此,如果你正在玩select,那么ng-model必须用于与angular相关的opertaions。所以你的选择将是:

$(document).ready(function () {
    var foods = null;
    $.ajax({
        url: '/Train/TrianFood',
        data: { Tarrif: 1 },
        type: "POST",
        context: this,
        success: function (result) {
            foods = result;
            foodSelectHandler();
        },
        error: function () {}
    });
    var parentOfFood = $('#accordion1 .person-information');

    function foodSelectHandler(){
        for (var i = 0; i < parentOfFood.length; i++) {
            var foodSelect = $(parentOfFood[i]).find('select[name$=Food]');

            for (var j = 0; j <foods.obj.length; j++) {

                foodSelect.append(new Option(foods.obj[j].ServiceType, foods.obj[j].ServiceTypeCode));
            }
        }
    }

});

在控制器方面:

<select id="selectIdentity" name="selectIdentity" ng-model="someModel" ng-change="ChangeAction(someModel)">