我是 JavaScript 新手,所以请耐心等待。
我在下面有这段代码来检查文本输入字段的值,如果它匹配,那么我会触发我的自定义对话框对象/函数,它显示一个对话框模式窗口。
现在我的目标是清除触发对话框以在Cancel
单击按钮时打开的文本输入
我有一个名为 Callback 的函数cancelCallback
,我可以将其传递给我的 Dialog 函数。
在我的示例中,您可以看到我已经缓存了输入字段选择器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'},
});
}
});