根据控制器变量值切换div

时间:2014-06-25 09:47:38

标签: javascript jquery html asp.net-mvc

EDITED

我有一个" Save Changes"我要点击的按钮,并在消息"切换保存的情况下切换一个div"。我是这样做的:

HTML

<input type="submit" id="savebtn" name="save" value="Save Changes"/>
<input type="hidden" id="res" name="res" value="@ViewBag.result"/>
<div class="success">Changes saved</div> 

JQuery的

$('#saveButton').click(function () {

var aux = res.value.toString();

if ($('#res').val() == "OK")
    $(".success").show();

    alert(aux);

});

但是,我需要按钮来实际保存更改,如果操作成功,则显示消息div。因此,在我的cshtml文件中,我有一个包含操作成功或失败的结果变量。

CSHTML

ViewBag.result = result;

现在,我需要根据结果变量显示消息div:我需要以某种方式使它成为JQuery函数的参数。我已将其传递到ViewBag

注意:页面加载时,视图包为空。它只在按钮点击后获得其值。之后,viewbag被填充了,我希望它在jQuery函数中使用,但我没有运气。

3 个答案:

答案 0 :(得分:0)

将结果传递给viewbag

在jquery中获取viewbag值,并相应地show/hide你的div

答案 1 :(得分:0)

假设您可以将结果存储在输入隐藏字段中,请使用以下查询来访问结果,并且最初隐藏成功div:

<input type="hidden" id="result" value"success"/>

jQuery:

$(function(){
    if($('#result').val()=="success")
       $(".success").show();
});

答案 2 :(得分:0)

你可以在一个简单的if条件中检查它

if($('#result').val()=="success")
   $(".success").toggle();

或者您可以使用Ajax方法

     function Save() {

            $.ajax({
                url: "Your Url",   // Current Page, Method  
                data: Your data // better if you parameter map as JSON  
                type: "POST",   
                contentType: "application/json", // posting JSON content      
                dataType: "JSON",  // type of data is JSON (must be upper case!)  
                timeout: 100000,    // AJAX timeout  

                success: function (result) {

                   $(".success").toggle();

                },
                error: function (xhr, status) {

                       alert("An error occurred while processing");
                }
            });

        }

现在点击按钮

调用此save()