2013-04-20 71 views
0

我是JavaScript新手,請在這裏與我聯繫。動態添加輸入沒有在屏幕上更新

我有下面的代碼檢查一個文本輸入字段的值,如果匹配,然後我發射我的自定義對話框對象/函數,它顯示一個對話框模式窗口。現在

我的目標是明確的是,發射該對話框打開,如果Cancel按鈕被點擊

我有一個名爲cancelCallback一個回調函數,我可以傳遞到我的對話功能的文字輸入。

在我的示例中,您可以看到我緩存了輸入字段選擇器hostnameSelector,然後將其傳遞到我的回調中。

下面你可以看到我打印出對象到控制檯。控制檯爲文本字段顯示我的新值,但不會在屏幕上更新。

這可能是因爲文本輸入字段是動態添加到屏幕/ DOM?

關於如何讓它工作的任何想法?我還可以使用最新的jQuery,如果需要幫助

// Show Notice if Hostname Matches the Domain Name 
$(document).on('change','div.hostName > input',function() { 

    // cached Input Selector 
    var hostnameSelector = $(this); 

    var hostName = $(this).val(); 
    var domainName = $("#domainName").val(); 
    var pattern = new RegExp(domainName + "$","g"); 
    if (hostName.match(pattern) != null) { 

     var msg = 'Are you sure you want to delete action?'; 

     zPanel.dialog.confirm({ 
      heading: 'ATTENTION', 
      message: msg, 
      width: 300, 
      cancelCallback: function (hostname) { 
        hostnameSelector .value = 'hi'; 
        console.log(hostnameSelector); 
      }, 
      cancelButton: {text: 'Cancel', show: true, class: 'btn-default'}, 
      okButton: {text: 'Confirm', show: true, class: 'btn-primary'}, 
     }); 

    } 
}); 

回答

1

CancelCallback應設置新的值通過調用:

hostnameSelector.val("hi") 
+0

謝謝你,我很高興,這是一個簡單的錯誤 – JasonDavis 2013-04-20 02:27:22

相關問題