Php 如果出现以下情况,则恢复选择框选项

Php 如果出现以下情况,则恢复选择框选项,php,javascript,jquery,.post,Php,Javascript,Jquery,.post,因此,我有一个selectbox,它在.change事件中对另一个脚本进行jquery.post调用 我想知道如果发生什么事情或者我的.post事件失败,我是否可以将selectedoption恢复为原始默认值 嗨,ppl,对不起 下面是javascript代码。我对它做了一些修改。我正在尝试让第二行工作,因为由于一些错误(由于不知道第二行上的内容),此代码现在无法工作。我的selectbox是列表的一部分,因此我无法使其成为唯一的id,为了记住用户选择的框,我需要使用$(此) 用这样的东西

因此,我有一个selectbox,它在.change事件中对另一个脚本进行jquery.post调用

我想知道如果发生什么事情或者我的.post事件失败,我是否可以将selectedoption恢复为原始默认值

嗨,ppl,对不起

下面是javascript代码。我对它做了一些修改。我正在尝试让第二行工作,因为由于一些错误(由于不知道第二行上的内容),此代码现在无法工作。我的selectbox是列表的一部分,因此我无法使其成为唯一的id,为了记住用户选择的框,我需要使用$(此)


用这样的东西

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

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

    })

没有代码很难说,但我会试试

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

您可以使用此选项选择第一个与默认值无关的选项:

$('#selectId option:eq(0)').attr('selected',true);

您只需使用全局变量来保存以前选择的选项。保存后,您可以在
错误上使用它

<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>

this.previousVal=0;
函数changeHandler(选择框)
{    
$.ajax({
类型:post,,
url:“url”,
成功:函数(){
//用户代码
this.previousVal=selectBox.selectedIndex;
},错误:函数(){
//使用previousVal并将该值设置回上一个值
}
})
}                           

可能有,但没有代码我们怎么知道?您至少可以发布选择列表和更改事件的代码!这个答案应该对你有用。您可以使用$(this)检索原始元素,并从那里恢复到默认值。
$('#selectId option:eq(0)').attr('selected',true);
<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>