0

データベース内のレコードの外部キーを更新するためにテーブルの id フィールドを投稿する必要があるという問題がありますが、ng-options属性を使用して選択のオプションを設定しています。オンラインで検索したところ、値を設定するには、ng-model="dataSet.desiredColumnName"選択した他の列に値を変更するために使用する必要があることがわかりました

だから私は選択のためにこのHTMLを持っています。

<select id="affiliation" ng-model="affiliationTable.affiliation_id" ng-change="alert(jQuery('#affiliation option:selected').val());" name="affiliation" ng-options="row.desc for row in affiliationTable"></select>

問題は、HTML テーブルのどの行がクリックされたかに応じて、特定のオプションを選択したいということです。テーブルは次のように定義されています。

<tr ng-repeat="row in tableData">
    <!--{{row.name}}-->
    <td>
        <a href='#' ng-click="invokeModal(row);" id="{{row.id}}">{{row.name}}</a>
    </td>
    <td>{{row.active}}</td>
    <td>{{row.end_date}}</td>
    <td>{{row.start_date}}</td>
</tr>

そして、invokeModal は選択された行を使用して、select#affiliation で選択するオプションを決定します。

$scope.invokeModal = function (row) { //memberDescription
    if(row == undefined){
        //blah blah ...
    }else{
        //blah blah ...
        angular.forEach($scope.affiliationTable, function (affiliation) {
            if (affiliation.id == row.affiliation_id) {
                $scope.affiliationTable.affiliation_id = affiliation.affiliation_id;
            }
        });
    }
        //invokes the modal window that select#affiliation is held within
    jQuery("#mem").modal('show');
};

私の問題は、選択の最初に空のオプションを追加して、そのオプションを選択しているように見えることです。. .wtf?

4

2 に答える 2

3

ng-option 式を修正する必要があると思います。

row.id as row.desc for row in affiliationTable

コードからモデル プロパティを割り当てる場合、select の ng-model 値は同じタイプである必要があります。テーブルのidプロパティを割り当てているため、モデルを選択すると、id現在完全な行オブジェクトに設定されているプロパティでモデルを更新する必要があります。

于 2013-10-10T09:15:28.137 に答える
-1

ng-options="リスト内のオブジェクトの groupName によるラベル グループとしての値"

value は任意の一意の識別子、label は表示する任意のテキスト、groupname はグループ化する必要がある項目に基づく値、object はトラバースが実行されるリストのオブジェクトです。

于 2016-03-13T14:06:16.150 に答える