2013-07-12 52 views
0

我想提示用戶可能的值(我已經存儲在JavaScript數組中)作爲單選按鈕顯示,以選擇文本中的某個值-box被留空,並且用戶點擊放置在母版頁中的'Save'telerik的Rad Ribbon Bar按鈕。使jQuery對話框等待回發或JavaScript提示允許自定義html

我的問題是,當我點擊保存,在服務器端方法不 等待了jQuery UI對話關閉,我嘗試了,而環說 這裏等到對話框消失但這突然飆升掛&我的頁:-(


  • 對於我的情況下,我們要導入數據F ROM其他應用程序,這樣,可以;噸使用上的變化事件
  • We'e要求:保存提示框可用值,獲得所選擇的值,並繼續與選擇的值保存,所以我不能添加一個按鈕,隱藏和引發。點擊()事件
  • 我的客戶可能不歡迎「返回false;」他們只是想繼續保存

我有以下工作

  1. 客戶端事件處理程序當保存按鈕被稱爲
  2. 時,從內容頁面被調用
  3. 上述JavaScript函數checkes如果值是空
  4. 從服務器側獲得可用的值,並在陣列中存儲
  5. 創建HTML和動態(下面的代碼)

代碼段1(以聲明的div在內容頁jQuery UI的對話)

<script src="../Scripts/jquery-1.9.1.min.js" type="text/javascript"></script> 
<script src="../Scripts/JQueryUI/js/jquery-ui-1.10.3.min.js" type="text/javascript"></script> 
<link href="../Scripts/JQueryUI/css/smoothness/jquery-ui.min.css" rel="stylesheet" 
    type="text/css" /> 
<link href="../Scripts/JQueryUI/css/smoothness/jquery.ui.theme.css" rel="stylesheet" type="text/css" /> 

<div id="dialog-confirm" title="Tracking #"> 
    <span style="float: left; margin: 0 7px 20px 0; z-index: 999999 !important"></span> 
    <p> 
    </p> 
</div> 

代碼段2

function onSave(sender, args) { 
var sButtonText = args.get_button().get_text(); 
if (sButtonText == "Save") { 
    var 
     trackingIDs = $('#<%=_tbPrevtrackerID.ClientID %>').val(), 
     $trackerIDInputControl = $('#<%= tbtrackerID.ClientID %>'), 
     currenttrackerIDValue = $trackerIDInputControl.val(), 
     trackerIDs = trackingIDs.split(',').clean(''), //Extension Method 
     noOftrackerIDsAvailable = trackerIDs.length, 
     markup = 'trackerID is empty : <br/><br/><input type="radio" name="trackerIDGroup" value="" >Leave Empty</input><br/>'; 
    for (var i = 0; i < noOftrackerIDsAvailable; i++) { 
     markup += '<input type="radio" name="trackerIDGroup" value="' + trackerIDs[i] + '">' + trackerIDs[i] + '</input><br/>'; 
    } 

    if (currenttrackerIDValue == '') { 
     $('#dialog-confirm').css({ 'display': 'block' }); 

     $("input:radio[name=trackerIDGroup]").click(function() { 
      $trackerIDInputControl.val($(this).val()); 
      trackerIDChecked = true; 
     }); 

     //Please note, if I'd use following it does work, but I am going to have multiple values 
     //$trackerIDInputControl.val(prompt(markup, trackerIDs[0])); 

     if ($("#dialog-confirm") != null) {    
      $("#dialog-confirm p").html(markup); 
      $("#dialog-confirm").dialog({ 
       resizable: false, 
       height: 300, 
       width: 300, 
       closeOnEscape: false, 
       modal: false, 
       buttons: { 
        "Ok": function() { 
         if ($trackerIDInputControl.val() != '') { 
          $('#dialog-confirm').css({ 'display': 'none' }); 
          $(this).dialog("close"); 
         } 
        }, 
        Cancel: function() { 
         $(this).dialog("close"); 
         $('#dialog-confirm').css({ 'display': 'none' }); 
        } 
       } 
      }).parent().appendTo(jQuery("body form")); 
     } 
    } 
} 
+0

-1你的問題不是很清楚。你究竟想要什麼? –

+0

@Walter,我想兩件事情 1:當我點擊保存,服務器端方法不會等待jQuery UI的對話關閉,我想在服務器端回傳等到用戶已經從jQuery的對話值如果你知道telerik,可以通過args.set_cancel(true); //參數如第一行 \t所示,但是如何複製點擊事件? sender.click()似乎沒有工作原因不明 – ablaze

+0

第二:我想從單選按鈕組中獲取選擇項的值,我動態地添加到jQuery的對話 – ablaze

回答

1

我認爲Ajax控件工具箱有什麼更適合你(當Click事件上保存觸發火災客戶端功能),請看看this演示。

+0

+1爲elegent解決方案 – ablaze