2014-10-16 63 views
0

我有一個asp下拉列表有幾個選擇,當我從列表中選擇某個項目時,我想要一個javascript模式打開。從下拉列表中選擇特定的項目後,我已經成功地通過使用html按鈕來打開模式,但我希望少一步。從asp下拉列表中調用Javascript函數

這裏是我的索引碼改變事件的下拉:

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

+0

你可以做一個這樣的小提琴嗎?或者以其他方式顯示HTML。我的猜測是你需要在HTML下拉菜單中有一個更改事件來觸發你的功能。 – 2014-10-16 14:10:57

+0

使用onchange javascript調用函數句柄根據所選下拉菜單的條件打開對話框,請參閱http://stackoverflow.com/a/12517284/941398 – CBRRacer 2014-10-16 14:11:57

回答

2

我打算回答。

在您的下拉....添加onchange事件調用的ShowDialog( 'newShipTo')

+0

雖然此方法有效,但它也調用每個項目的函數,而不是特定的項目在列表中。這就是爲什麼我試圖從代碼隱藏中調用該函數,以便我可以輕鬆地確定正在選擇哪個項目。 – 2014-10-16 14:19:42

+0

然後,您需要將邏輯添加到showDialog函數。 很難解決沒有工作小提琴。但是console.log('type',type)和console.log('data',data)顯示了什麼? 大概在那裏,你可以說「如果不是我想要的價值,什麼都不做」 – 2014-10-16 14:51:06

0
+0

鏈接只有答案一般是不鼓勵的。考慮在這裏將解決方案的信息添加到答案中。 – user1071777 2014-10-16 17:38:56

+0

另外,你有_ // showDialog('newShipTo'); //在這裏調用你的模態彈出窗口這是什麼問題是關於,我的代碼的其餘部分正在工作。我的問題是關於爲什麼'Page.ClientScript.RegisterStartupScript(this.GetType(),「function」,「showDialog('newShipTo')」,true);'不工作 – 2014-10-16 19:50:26