如何使用jquery刷新PHP中的特定元素?
我有一个选择框。在改变它的事件时,我打电话给确认框。当我点击取消按钮,然后保持更改值。 所以我只想刷新选择框而不是整个页面。如何使用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>
使用此代码,否则下它只会重新选择框。
这将工作
$('#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>
页面加载后做:
$('select').each(function() {
$(this).attr('original_data', $(this).val());
});
,并在你的函数做
$(this).val(this.attr('original_data'));
经过。完美的作品。
它不工作。 – 2013-03-19 10:50:07
好的。我尝试了它本地和它应该如此。 首先保存选定的数据(这不一定是'选择' - 可以是所有输入或只是指定一个),并将其保存为自定义属性。 然后你只需要检索这些数据:] – imclickingmaniac 2013-03-19 11:19:35
它不工作。 – 2013-03-19 10:20:01
您是否看到演示,否则请发布您的选择框的HTML代码 – 2013-03-19 10:21:58
我看演示但不工作 – 2013-03-19 11:05:10