独立按钮

时间:2013-02-07 08:46:17

标签: javascript

我有一个Javascript代码,用于创建按钮OnLoad,其属性是从数据库中提取的ASP页面中的值。但无论我想让每个按钮做什么事情,所有其他按钮都会执行它并在按钮显示之前执行。请帮忙......

function createButtons(tbID, tbClass, tbType, tbValue, onClick) {
return '\n<input'
                + (tbID ? ' id=\'' + tbID + '\'' : '')
                + (tbClass ? ' class=\'' + tbClass + '\'' : '')
                + (tbType ? ' type=\'' + tbType + '\'' : '')
                + (tbValue ? ' value=\'' + tbValue + '\'' : '')
                + (onClick ? ' onclick=\''+ onClick + '\'':'')
                + '>';

}


function DisplayButtons(cableData) {

var newContent = '';

$.each(cableData, function (i, item) {

newContent += createButtons(item.CommonCable, null, "submit",       item.CommonCable,alert("clicked"));

});

$('#Categories').html(newContent);

}

1 个答案:

答案 0 :(得分:0)

在创建按钮的函数调用中,不要调用“alert('clicked')”(或者在单击按钮时要执行的任何操作),否则它将立即执行。相反,创建一个匿名函数并将调用包装在其中。 E.g。

newContent += createButtons(item.CommonCable, null, "submit",       item.CommonCable,"alert('clicked')");

编辑没有注意到您将按钮构建为html文本。在这种情况下,只需将要执行的代码(函数调用)作为文本传递。编辑上面的代码来反映这一点。