我搜索了与我的这个问题相关的内容,找不到答案,所以我在这里问这可能是一个愚蠢的问题。
这是我的代码。
function addCategory(data_type,header){
categoryDialog = $("<div id='parentcategoryDiv'>" +
'*header* Name<input type="text" id="categoryText" name="categoryText" style="width: 300px;" placeholder="Program Type"/>' +
'<br/>' +
'<br/>' +
'<input type="submit" name="saveCategory" value="Save" id="saveCategory" class="right" onclick="saveCategory(*data_type*);">' +
'<input type="submit" name="cancelCategory" value="Cancel" id="cancelCategory" class="right" onclick="closeDialog();">' +
"</div>");
categoryDialog.dialog({
title: 'Add/Edit '+header,
maxWidth:500,
maxHeight: 100,
width: 500,
height: 100,
draggable: true,
autoOpen: false,
modal: true
});
categoryDialog.dialog('open');
$("body").on("click", ".ui-widget-overlay", function () {
closeDialog();
});
};
header 和data_type 是两个传递的参数。但问题是我无法在 html 填充变量中使用这些参数(header 和 data_type)。有办法吗?感谢您的帮助。
最佳答案
这可能是将参数传递给 onclick 函数时字符串连接的问题。试试这个,我使用了一个转义字符来保留单引号,这样传递的参数将作为字符串传递给 onclick 方法;试试这个,让我知道它是否有效!
function addCategory(data_type,header){
categoryDialog = $("<div id='parentcategoryDiv'>" +
''+header+' Name<input type="text" id="categoryText" name="categoryText" style="width: 300px;" placeholder="Program Type"/>' +
'<br/>' +
'<br/>' +
'<input type="submit" name="saveCategory" value="Save" id="saveCategory" class="right" onclick="saveCategory(\''+data_type+'\');">' +
'<input type="submit" name="cancelCategory" value="Cancel" id="cancelCategory" class="right" onclick="closeDialog();">' +
"</div>");
console.log(categoryDialog);
categoryDialog.dialog({
title: 'Add/Edit '+header,
maxWidth:500,
maxHeight: 100,
width: 500,
height: 100,
draggable: true,
autoOpen: false,
modal: true
});
categoryDialog.dialog('open');
$("body").on("click", ".ui-widget-overlay", function () {
closeDialog();
});
};
关于javascript - Jquery 在 html 填充变量中使用传递的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42159186/