如何在document.ready函数上设置动态值到隐藏字段

时间:2014-03-20 12:09:14

标签: jquery

<script type="text/javascript">


    $(document).ready(function () {

        alert($("#hdnDivValue").val());
        var VisibleDiv = $("#hdnDivValue");
        var Task = $("#DF_d-L_Mytaskdiv");
        var TaskReport = $("#DF_d-L_Comptaskdiv");
        var LeaveReport = $("#DF_d-L_LeaveReqdiv");

        var btnLeaveMang1 = $("#btnLeaveMang");
        var btnMy_Task1 = $("#btnMy_Task");
        var btn_TaskReport1 = $("#btn_TaskReport");
        //var btnlLeaveSave1 = $("$btnlLeaveSave");

//        btnlLeaveSave1.click(function () {
//            $("#hdnDivValue").val("DF_d - L_LeaveReqdiv");
//            alert('working');
//        });

        btn_TaskReport1.click(function () {

            //VisibleDiv.val() = "DF_d - L_Mytaskdiv";
            TaskReport.show();
            Task.hide();
            LeaveReport.hide();

        });

        btnMy_Task1.click(function () {

            // VisibleDiv.val() = "DF_d-L_Comptaskdiv";
            TaskReport.hide();
            Task.show();
            LeaveReport.hide();
        });

        btnLeaveMang1.click(function () {

            //VisibleDiv.val() = "DF_d-L_LeaveReqdiv";
            TaskReport.hide();
            Task.hide();
            LeaveReport.show();
            $("#hdnDivValue").val("DF_d - L_LeaveReqdiv");
            alert($("#hdnDivValue").val());
            //VisibleDiv.val("DF_d - L_LeaveReqdiv");

        });



        if (VisibleDiv.val() == "DF_d-L_Comptaskdiv") {

            TaskReport.show();
            Task.hide();
            LeaveReport.hide();
            // VisibleDiv.val() = "DF_d - L_Comptaskdiv";
        }

        else if (VisibleDiv.val() == "DF_d-L_Mytaskdiv") {
            TaskReport.hide();
            Task.show();
            LeaveReport.hide();
            //VisibleDiv.val() = "DF_d-L_Mytaskdiv";

        }
        else if (VisibleDiv.val() == "DF_d-L_LeaveReqdiv") {

            TaskReport.hide();
            Task.hide();
            LeaveReport.show();
            //VisibleDiv.val() = "DF_d-L_LeaveReqdiv";

        }



    });
</script>

这是我的jquery代码:

我通过此代码使用的逻辑是:     我分别有三个div          DIV1          DIV2          DIV3      我有一个隐藏的领域......

最初我将隐藏字段值设置为div3,因此根据代码显示div3 ...

     else if (VisibleDiv.val() == "DF_d-L_LeaveReqdiv") {

            TaskReport.hide();
            Task.hide();
            LeaveReport.show();
            //VisibleDiv.val() = "DF_d-L_LeaveReqdiv";

        }

-----我还有三个按钮....当我点击第一个按钮时显示div1并将hiddenfield值设置为div1 id ......我的问题是当pageload发生时隐藏字段值,设置为初始值即div3值而不是div1即绑定相应的最后一个按钮单击div id值任何机构有任何想法...来解决这个问题....在asp.net我们有视图状态是它的任何功能javascript以获得最后存储的值

2 个答案:

答案 0 :(得分:0)

这不是回答这是一个建议

对不起,我不明白你想要完成的是什么,但是我可以建议你将当前的jQuery略微清理一下这样的东西,它更具可读性。

$(document).ready(function () {
var Task = $("#DF_d-L_Mytaskdiv");
var TaskReport = $("#DF_d-L_Comptaskdiv");
var LeaveReport = $("#DF_d-L_LeaveReqdiv");    

$("#btn_TaskReport").on('click', function() {
    showTaskReport();
}

$("#btnMy_Task").on('click', function() {
    showTask();
}

$("#btnLeaveMang").on('click', function() {
    showLeaveReport();
}

function showTaskReport() {
    TaskReport.show();
    Task.hide();
    LeaveReport.hide();
}

function showTask() {
    TaskReport.hide();
    Task.show();
    LeaveReport.hide();    
}

function showLeaveReport() {
    TaskReport.hide();
    Task.hide();
    LeaveReport.show();        
}
});

答案 1 :(得分:0)

First up all i thanks to @David Hirst,@Muhammad Omair 

This is my jquery code : 

<script type="text/javascript">


    $(document).ready(function () {

        //alert($("#hdnDivValue").val());
        var VisibleDiv = $("#hdnDivValue");
        var Task = $("#DF_d-L_Mytaskdiv");
        var TaskReport = $("#DF_d-L_Comptaskdiv");
        var LeaveReport = $("#DF_d-L_LeaveReqdiv");

        var btnLeaveMang1 = $("#btnLeaveMang");
        var btnMy_Task1 = $("#btnMy_Task");
        var btn_TaskReport1 = $("#btn_TaskReport");
        //var btnlLeaveSave1 = $("$btnlLeaveSave");

//        btnlLeaveSave1.click(function () {
//            $("#hdnDivValue").val("DF_d - L_LeaveReqdiv");
//            alert('working');
//        });

        btn_TaskReport1.click(function () {

            //VisibleDiv.val() = "DF_d - L_Mytaskdiv";
            TaskReport.show();
            Task.hide();
            LeaveReport.hide();

        });

        btnMy_Task1.click(function () {

            // VisibleDiv.val() = "DF_d-L_Comptaskdiv";
            TaskReport.hide();
            Task.show();
            LeaveReport.hide();
        });

        btnLeaveMang1.click(function () {

            //VisibleDiv.val() = "DF_d-L_LeaveReqdiv";
            TaskReport.hide();
            Task.hide();
            LeaveReport.show();
            $("#hdnDivValue").val("DF_d - L_LeaveReqdiv");
            //alert($("#hdnDivValue").val());
            //VisibleDiv.val("DF_d - L_LeaveReqdiv");

        });



        if (VisibleDiv.val() == "DF_d-L_Comptaskdiv") {

            TaskReport.show();
            Task.hide();
            LeaveReport.hide();
            // VisibleDiv.val() = "DF_d - L_Comptaskdiv";
        }

        else if (VisibleDiv.val() == "DF_d-L_Mytaskdiv") {
            TaskReport.hide();
            Task.show();
            LeaveReport.hide();
            //VisibleDiv.val() = "DF_d-L_Mytaskdiv";

        }
        else if (VisibleDiv.val() == "DF_d-L_LeaveReqdiv") {

            TaskReport.hide();
            Task.hide();
            LeaveReport.show();
            //VisibleDiv.val() = "DF_d-L_LeaveReqdiv";

        }



    });
</script>

protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                hdnDivValue.Value = "DF_d-L_Comptaskdiv";
            }
        }

//hidden field set to default div namely "DF_d_Comptaskdiv" 
//so intially "DF_d_Comptaskdiv" div is displayed

protected void btnTaskView_Click(object sender,EventArgs e)         {

        General.officeStaff ofcobj = new officeStaff();
        ofcobj.BindTaskGrid(grdTask);
        hdnDivValue.Value = "DF_d-L_Mytaskdiv";
    }

enter code here //将隐藏字段值设置为服务器ctrl所在的当前div ....所以asp.net将隐藏字段值的视图状态维护到当前div ....就像显示每个div服务器ctrl值一样。