0

我已经使用 javascript 创建了按钮,这些按钮是由 javascript 页面在加载时创建的。创建的按钮数量以及按钮属性(id、名称)取决于从数据库表中获取的信息。现在我需要独立使用按钮,但我事先不知道 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.');
}
4

1 回答 1

0

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

您是否考虑过在尚未查询数据库时静态预填充结果集?类似这样的东西:

if (hasDatabaseResult) {
  buttonData = getDatabaseResult();
} else {
  buttonData = [ {id : 1, name : "First record"} ]
}
于 2013-02-05T10:23:37.070 回答