jQuery确认窗口 - 取消按钮不重置值

时间:2012-11-11 05:34:31

标签: jquery forms

如果用户在选择字段中选择“是”值,我会得到一些显示确认框的jQuery。

在确认框中,如果用户单击“确定”按钮,我希望该值保持不变。如果用户单击“取消”按钮,我希望该值更改回以前的值。

我几乎已经使用了以下代码,但是当用户点击“取消”按钮时,值仍为“是”,而不是返回“否”。

任何帮助解决这个问题都将受到赞赏。

<script>
$(document).ready(function(){
$('#publish_details').change(function(){
    if($(this).val() == 'Yes')
    { window.confirm("Are you sure you want to publish these details?"); }
    });
});
</script>

<select name="publish_details" id="publish_details" />
    <option value="No" selected="selected">No</option>
    <option value="Yes">Yes</option>
</select>

谢谢,

步骤

2 个答案:

答案 0 :(得分:3)

如果未确认,则未设置新值:

if($(this).val() == 'Yes'){ 
    if (!window.confirm("Are you sure you want to publish these details?")){
        $(this).val('No');
    }
}

或者您只需返回确认值(如果未确认则为false):

if($(this).val() == 'Yes'){ 
    return window.confirm("Are you sure you want to publish these details?");
}

答案 1 :(得分:2)

我能够使用以下代码。

HTML

<select name="publish_details" id="publish_details" />     
    <option id="no" value="No" selected="selected">No</option>     
    <option value="Yes">Yes</option> 
</select>

javascript

$(document).ready(function(){
   $('#publish_details').change(function(){
        if($(this).val() == 'Yes'){
            var r=confirm("Are you sure you want to publish these details?")
            if (!r){
              $('#no').attr('selected', 'selected');
           }
         }
    });
});