2012-10-17 3 views
0

그래서 .change 이벤트에서 다른 스크립트로 jquery. post를 호출하는 선택 상자가있는 상황이 있습니다.선택 상자 옵션을 되돌릴 때

어쨌든 나는 뭔가가 발생하거나 내 .post 이벤트가 실패 할 경우 원래 선택 사항으로 되돌릴 수 있는지 궁금합니다.

안녕하십니까, 죄송합니다.

다음은 자바 스크립트 코드입니다. 나는 그것을 수정했다. 이 코드는 몇 가지 오류 (두 번째 줄에 무엇을 모르기 때문에)로 인해 작동하지 않으므로 두 번째 줄을 작동 시키려고합니다. 내 selectbox는 목록의 일부이므로 고유 한 ID를 만들 수 없으며 사용자가 선택한 상자를 기억하기 위해 $ (this)를 사용해야합니다. 이

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

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

    }) 
+3

아마도 코드는 없지만 우리가 어떻게 알아야합니까? 선택 목록 및 변경 이벤트 코드는 최소한 게시 할 수 있습니다! – adeneo

답변

0

사용 뭔가 코드없이 말할 수 있습니다,하지만 당신은 기본에 대한 첫 번째 옵션하지를 선택하려면이 사용할 수

$("#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')); 
    }); 
}); 
+0

이 답변이 도움이 될 것입니다. $ (this)를 사용하여 원래 요소를 검색하고 거기에서 기본값으로 되돌릴 수 있습니다. –

+0

@ShawnWernig ok ... 수정 된 답변보기 – StaticVariable

0
$('select').val('defaultvalhere'); 
2

어려운 같은

$('.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"); }) 
      } 
     }); 
    }); 
0

시도 할 것이다 값 :

$('#selectId option:eq(0)').attr('selected',true); 
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> 
관련 문제