0

そのため、.change イベントで別のスクリプトに jquery .post 呼び出しを行う selectbox がある状況があります。

何かが発生した場合、または .post イベントが失敗した場合に、選択したオプションを元のデフォルトに戻すことができるかどうか疑問に思っていましたか?

こんにちは、申し訳ありません。

これがJavaScriptコードです。私はそれにいくつかの修正を加えました。いくつかのエラーが原因で (2 行目の内容がわからないため)、このコードが現在機能していないため、2 行目を機能させようとしています。私の選択ボックスはリストの一部であるため、それを一意の ID にすることができず、ユーザーが選択したボックスを記憶するには、$(this) を使用する必要があります。

    $('.order_stateselect').click(function(){
        var val=$(this).find(":selected").val();
        $(this).change(function(){
            if(confirm('Confirm Order Status Change?')){
                var conduct_status_chge=$.post('/seller/helpers/order_status_change.php',{order_item_id:$(this).parent('td').siblings('.order_item_id').text(),order_item_status:$(this).find(':selected').val()},function(data){
                    alert(data);
                })
                .error(function() { alert("error"); })
            }
        });
    });
4

5 に答える 5

2

コードなしで伝えるのは難しいですが、試してみます

$("#selectbox").data('origValue', $("#selectbox").val());

$("#selectbox").on('change', function () {
   $.post(...).done(function () {
      // other stuff
      $("#selectbox").data('origValue', $("#selectbox").val());
   }).fail(function () {
      $("#selectbox").val($("#selectbox").data('origValue'));
   });
});
于 2012-10-17T15:20:12.050 に答える
0

このようなものを使用してください

 var value=$("#selectbox").val();
    $.ajax({
    type:post,
    url:"something.com",
    success:function(){

    },error:function(){
    $("#selectbox").val(value);
    }

    })
于 2012-10-17T15:18:21.493 に答える
0
$('select').val('defaultvalhere');
于 2012-10-17T15:18:30.883 に答える
0

これを使用して、デフォルト値に関係なく最初のオプションを選択できます。

$('#selectId option:eq(0)').attr('selected',true);
于 2012-10-17T15:20:24.823 に答える
0

グローバル変数を使用して、以前に選択したオプションを保存するだけです。保存したら、error次のようなものでそれを使用できます

<script type="text/javascript">
this.previousVal = 0;
function changeHandler(selectBox)
    {    

$.ajax({
type:post,
url:"URL",
success:function(){
//ur code
this.previousVal=selectBox.selectedIndex;
},error:function(){
//use previousVal and set the value back to the previous value
}

})


    }                           
</script>

<select id="changeLang" name="changeLang" onchange="changeHandler(this)"></select>
于 2012-10-17T15:26:26.170 に答える