データベース内のレコードの外部キーを更新するためにテーブルの 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?