2017-11-02 5 views
0

私はこのリンクで与えられた答えをGreg Hornby "When html select form changes, pop up alert then send form" で使用しましたがうまくいきますが、キャンセルボタンを押しても選択ボックスが変わる変更を保存しませんが、元に戻すページをリフレッシュすると変更されて表示されますが、変更した選択ボックスを変更するとすぐに変更されます。 キャンセルを押すと選択ボックスの変更を防ぐことができますか?フォームの変更を選択し、警告をポップアップしてフォームを送信

私のコードは

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<form method="post" action=""> 
 
<select name="payment_status" class="form-control status_select" onchange="if(confirm('Are you sure you want to Change this Status?')){this.form.submit()}"> 
 
\t <option value="">Select Payment Status</option> 
 
\t <option value="Un paid">Un-paid</option> 
 
\t <option value="Paid">Paid</option> 
 
</select> 
 
</form>
0123です

答えて

1

使用prop()else文でfalseに選択されたオプションを設定するには:あなたは、例えば、その後、確認の変化に、変数に初期状態を設定することができ

$("select").change(function(){ 
 
    if(confirm('Are you sure you want to Change this Status?')){ 
 
     {this.form.submit()} 
 
    } 
 
    else $("select option:selected").prop("selected", false); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<form method="post" action=""> 
 
<select name="payment_status" class="form-control status_select"> 
 
\t <option value="">Select Payment Status</option> 
 
\t <option value="Un paid">Un-paid</option> 
 
\t <option value="Paid">Paid</option> 
 
</select> 
 
</form>

+0

「我々は選択ボックスの変更を防ぐ」これはない手段を行います"デフォルト値に変更" –

+0

@Yaser私は答えを更新しました – SilverSurfer

+0

これは非常にうまくいきますが、私はこの選択ボックスをphpを使って選択した値で使用していますので、これはselectedIndex = 0に値を変更するものです 私たちはphpによって選択された値を保持し、0のインデックスを選択しないようにします – Yaser

0

をその変数を更新します。以前に確認または初期状態に値をリセットし、キャンセルには、次のように:

<script> 
var initial = '<?php echo "Paid"; ?>'; 
function reset(){ $("select").val(initial); } 
</script> 

とのonChange確認した場合、その後、リセット他、提出()

関連する問題