0
我已經看過所有我可以找到關於這個問題的帖子,但我沒有看到我的代碼有什麼問題。AngularJS選擇和單選按鈕丟失綁定後Ajax
我創建了一個指令,兩個選擇框,單選按鈕:
選擇:
app.directive("selectBox", function() {
return {
replace: true,
scope: {
fieldobj: "="
},
template: '<div ng-show="fieldobj.IsRelevant"><span>{{fieldobj.Title}}: </span>' +
'<select ng-model="fieldobj.Value" ng-options="option for option in fieldobj.Options" ng-class="{fieldError : fieldobj.Errors.length > 0}"/></div>'
};
});
單選按鈕:
app.directive("radioButton", function() {
return {
replace: true,
scope: {
fieldobj: "="
},
template: '<div ng-show="fieldobj.IsRelevant"><span>{{fieldobj.Title}}: </span>' +
'<input type="radio" value="true" ng-model="fieldobj.Value" ng-class="{fieldError : fieldobj.Errors.length > 0}"/>Yes' +
'<input type="radio" value="false" ng-model="fieldobj.Value" ng-class="{fieldError : fieldobj.Errors.length > 0}"/>No</div>'
};
});
我的問題是,當我選擇一個值(在兩個控件中)並向服務器發送一個ajax,當數據返回時(並且我在fiddler/chrome調試器中看到數據返回正常),輸入元素爲空,即,單選按鈕被選中,選擇框的值爲0(空選擇)。
如果我在這裏編寫錯誤的代碼,並且您有更好的建議,那很好,但是如果有人能夠解釋爲什麼輸入變爲「空」,我也會很感激。
編輯:這是單選按鈕的HTML部分,例如的緣故:
<div radio-button fieldobj="data.GotWebsite"></div>
你可以發佈你發送ajax事件的代碼,也可以發佈你使用這些指令的HTML嗎? – rob
@rob發佈HTML部分。關於ajax部分,我寧願不要發佈太多的代碼,所以這成爲一個沒有吸引力的問題:)我可以告訴你,我放置了一個div的值,並且我在ajax return上正確地看到了它們,所以我知道肯定返回的值正確。 –
也許這會有助於發佈您的控制器代碼。在你的控制器中,服務器響應後,'data.GotWebsite'設置爲正確的值? – sethro