2013-03-19 56 views
-1

我有一個選擇框。在改變它的事件時,我打電話給確認框。當我點擊取消按鈕,然後保持更改值。 所以我只想刷新選擇框而不是整個頁面。如何使用jquery刷新PHP中的特定元素?

function statusChanged(obj,id){ 
    $(obj).change(function() { 
     var answer = confirm ("Are you sure update Status?"); 
     var status; 
     if(answer){ 
      status=$(this).val(); 
      //alert(status); 
      ajaxUpdate("service-providers.php", {action:"updatestatus",'status': status,'id':id}, function(data) { 
      if(data.type=="success") { 
        $("#notify").notification({caption:"Status Updated Successfully.", type:"information", sticky:false ,onhide:function(){ 
        window.location="service-providers.php"; 
       } 
       }); 
      } 
      }); 
     } 
     else{ 
      // here i want to refresh select box 
     } 
}); 
} 

的html代碼:

<select id="status1" name="status1" style="width:140px;" onChange="statusChanged(this,<?php echo $applicationid; ?>);">   
                <?php 
                 if($status==3 || $status==4) 
                  echo "<option value='4'>Submitted</option>"; 
                 else 
                  echo "<option value='0'>Select</option>"; 
                ?> 
                <option value="2" <?php if($status==2) echo "selected='selected'"; ?> >Approved</option> 
                <option value="3" <?php if($status==3) echo "selected='selected'"; ?> >Rejected</option> 
               </select> 

回答

0

使用此代碼,否則下它只會重新選擇框。

這將工作

$('#SELECTBOX_ID').prop('selectedIndex',0); 

看到了http://jsfiddle.net/TmJCE/10/工作演示。

另外我在我的本地實現了這個代碼我主要做了兩個改變,我從select中選擇了onchange,第二個是我沒有使用ajax因爲你只想在確認框上點擊取消工作。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> 
     jQuery(document).ready(function() { 
     jQuery("#status1").change(function() { 
     var answer = confirm ("Are you sure update Status?"); 
     var status; 
     if(answer){ 
      status=$(this).val(); 
      //I have did not call ajax 
     } 
     else{ 
      jQuery('#status1').prop('selectedIndex',0); 
     } 
    }); 
    }); 
</script> 
<?php 
    $status = 0; // I temporary added t 
    ?> 
    <select id="status1" name="status1" style="width:140px;" > 
    <?php 
    if($status==3 || $status==4) 
     echo "<option value='4'>Submitted</option>"; 
    else 
     echo "<option value='0'>Select</option>"; 
    ?> 
    <option value="2" <?php if($status==2) echo "selected='selected'"; ?> >Approved</option> 
    <option value="3" <?php if($status==3) echo "selected='selected'"; ?> >Rejected</option> 
    </select> 
+0

它不工作。 – 2013-03-19 10:20:01

+0

您是否看到演示,否則請發佈您的選擇框的HTML代碼 – 2013-03-19 10:21:58

+0

我看演示但不工作 – 2013-03-19 11:05:10

0

頁面加載後做:

$('select').each(function() { 
$(this).attr('original_data', $(this).val()); 
}); 

,並在你的函數做

$(this).val(this.attr('original_data')); 

經過。完美的作品。

+0

它不工作。 – 2013-03-19 10:50:07

+0

好的。我嘗試了它本地和它應該如此。 首先保存選定的數據(這不一定是'選擇' - 可以是所有輸入或只是指定一個),並將其保存爲自定義屬性。 然後你只需要檢索這些數據:] – imclickingmaniac 2013-03-19 11:19:35