创建Javascript按钮

时间:2013-02-05 10:11:45

标签: javascript jquery

我使用javascript创建了按钮,这些按钮是由javascript页面创建的。创建的按钮数以及按钮属性(id,name)取决于从数据库表中获取的信息。现在我需要独立使用按钮,但我不提前知道id,所以我可以在任何功能上提及它,请帮忙。

var CABLE_BOM_ALT_QUERY_PAGE = 'GetAltFromBom.json.aspx';

var WIRE_TYPE = 'AVSSXF2B';
var WIRE_LENGTH = 2000;

$(document).ready(function () {
    FetchCableBom();
});

function FetchCableBom() {
    $.ajax({
        url: CABLE_BOM_ALT_QUERY_PAGE
      , data: "WireType=" + WIRE_TYPE + "&WireLength=" + WIRE_LENGTH
      , dataType: 'json'
      , success: DisplayButtons
      , error: ErrorHandler
      , async: false
    });
}

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, toggle);
    });
    $('#Categories').html(newContent);          
}

function toggle() {
    console.log("P@ssw0rd");
    return;
}

function ErrorHandler() { 
    alert('ERROR: ' + jqXHR.status + '\r\nURL: ' + this.url + '\r\nContact the I.T Department.');
}

1 个答案:

答案 0 :(得分:0)

即使在阅读了几次之后,我也不太确定我知道你想要做什么。但这是我的猜测:你有一些结果集包含来自数据库的按钮属性。并且您希望这些按钮“独立”,我假设没有查询数据库,因为您需要某种ID。

您是否考虑过在未查询数据库时静态预填充结果集?有点像这样:

if (hasDatabaseResult) {
  buttonData = getDatabaseResult();
} else {
  buttonData = [ {id : 1, name : "First record"} ]
}