从asp下拉列表中调用Javascript函数

时间:2014-10-16 14:07:29

标签: javascript c# asp.net

我有一个带有一些选项的asp下拉列表,当我从列表中选择某个项目时,我想要一个javascript模式打开。从下拉列表中选择特定项目后,我已经成功地通过使用html按钮打开模式,但我想减少一步。

以下是我在下拉列表中的索引更改事件的代码:

protected void ShipTo_Changed(object sender, EventArgs e)
{
    foreach (DataListItem dli in cart.Items)
    {
        DropDownList drpShipto = (DropDownList)dli.FindControl("drpShipto");
        if (drpShipto.SelectedItem.Text == "-Add New ShipTo-")
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "function", "showDialog('newShipTo')", true);
        }
    }
}

以下是我对js的看法:

<script>
$(document).ready(function () {
    $('#newShipTo').dialog({
        autoOpen: false,
        draggable: true,
        title: "Add New ShipTo",
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });

    $('#editShipTo').dialog({
        autoOpen: false,
        draggable: true,
        title: "Edit ShipTo",
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });
});

function showDialog(id) {
    $('#' + id).dialog("open");
}

function closeDialog(id) {
    $('#' + id).dialog("close");
}
</script>

我知道这个功能有效,因为我可以调用该函数来调用按钮,将onclick设置为showDialog('newShipTo')

我只是没有使用RegistarStartupScript

正确调用它

2 个答案:

答案 0 :(得分:2)

我准备回答。

在你的下拉列表中....添加一个onchange事件,调用showDialog('newShipTo')

答案 1 :(得分:0)