- デフォルトのクリックアクションは、入力がスキップされていることを確認するので、falseを返すことができます。
次に、ラジオボタングループにデータリンクされたプロパティを関連付けることをお勧めします。したがって、あなたの約束が成功/エラーを返した後、新しいもの/元のものを観測可能に設定することができます。
データのリンクをselectedCar
に設定し、遅延値を適切に設定する例を示します。
どちらか一方向のデータ・リンクを使用:
<label><input name="cars" type="radio" value="none" data-link="{:selectedCar} {on getAjax 'none'}"/>
None</label><br/>
<label><input name="cars" type="radio" value="vlv" data-link="{:selectedCar} {on getAjax 'vlv'}"/>
Volvo</label><br/>
<label><input name="cars" type="radio" value="frd" data-link="{:selectedCar} {on getAjax 'frd'}"/>
Ford</label><br/><br/>
または、次のコードのアプローチを使用してそれぞれのケースでは、あなたのchecked{...}
アプローチ
<label><input name="cars2" type="radio" value="none" data-link="checked{:selectedCar==='none'} {on getAjax 'none'}"/>
None</label><br/>
<label><input name="cars2" type="radio" value="vlv" data-link="checked{:selectedCar==='vlv'} {on getAjax 'vlv'}"/>
Volvo</label><br/>
<label><input name="cars2" type="radio" value="frd" data-link="checked{:selectedCar==='frd'} {on getAjax 'frd'}"/>
Ford</label><br/><br/>
を使用します。
var data = {
selectedCar: "frd",
getAjax: function(val) {
var sel = data.selectedCar;
$.ajax({
type: 'GET',
url: "../TEST" + val + ".html",
timeout: 5000,
success: function(){
$.observable(data).setProperty("selectedCar", val);
},
error: function(xhr, textStatus, errorThrown){
$.observable(data).setProperty("selectedCar", val);
$.observable(data).setProperty("selectedCar", sel);
}
});
return false;
}
};
答えた場合あなたのために働いた、あなたはそれを "受け入れる"ことができますか?ありがとうございました(それはあなたの答えに費やされた時間と労力を認めていません) – BorisMoore
@BorisMoore:すみません、私は無関係のプロジェクトで数週間働いていたので、解決策に答えられませんでした。私は解決策を試し、ステータスを更新します。あなたのタイムリーな対応は非常に高く評価されています。フォローアップしないことに対する謝罪。私は将来それを確実にするでしょう。ありがとう。 – user1776573