2

コンボボックスの選択された値を検出する必要があり、特定の値が選択された場合は確認ダイアログが生成されます。確認が偽の場合、変更が行われる前の値に戻す必要があります。変更前の値を保持する隠しフィールドを試しています。これは機能していません...

更新:値が実際に非表示フィールドに設定されているかどうかを確認するためにアラートを追加すると、すべて正常に動作します。アラートを削除すると、変更は発生しません。ある種のタイミングの問題?アラートを遅延に置き換えましたが、何も修正されませんでした。何が起こっているのですか?

jQuery('#cboCityID1').focus(function() {
    if(jQuery('#cboCityID1').val() != '') {
        jQuery('#hiddencity1').val(jQuery('#cboCityID1').val()); 
    }
});

jQuery('#cboCityID1').change(function() {

    alert("as debug 1: " + jQuery('#hiddencity1').val());

    if(jQuery('#cboCityID1').val() == '') {
        var r = confirm("Are you sure");
        if(!r) {
            jQuery('#cboCityID1').val(jQuery('#hiddencity1').val()); 
        }
    }
});
4

2 に答える 2