2013-03-19 2 views
-1

У меня есть один вариант box.on change event of it, я вызываю окно подтверждения. Когда я нажал кнопку отмены, остается значение. Так что я хочу обновить только поле выбора не всей страницы.Как обновить определенный элемент в php с помощью jquery?

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/ рабочей демонстрации.

также я внедрил этот код в своем локальном я в основном сделал два изменения я удалил onchange из select и во-вторых, я не использовал ajax coz, вы хотите работать только по щелчку отмены на подтверждении.

<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

Не работает. –

+0

Вы видели демо в противном случае, разместите свой html-код selectbox –

+0

Я вижу демонстрацию Но не работает –

0

после загрузки страницы сделать:

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

и в функции сделать

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

Проверено. Работает отлично.

+0

Это не работает. –

+0

Хорошо. Я попробовал его локально, и он работает так, как должен. Сначала вы сохраняете выбранные данные (это не должно быть «select» - может быть все входы или только что указано) и сохранить его как пользовательский атрибут. Затем вы просто извлекаете эти данные всякий раз, когда вам это нужно:] – imclickingmaniac

Смежные вопросы