Jquery使用在html填充变量中传递的参数

时间:2017-02-10 12:16:42

标签: javascript jquery html

我搜索了我的这个问题,无法找到答案,所以我在这里问这可能是一个愚蠢的问题。

这是我的代码。

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)。有办法吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

将参数传递给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();
});
};