0

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.');
}
4

1 に答える 1

0

何度か読んだ後でも、あなたが何をしようとしているのかよくわかりません。しかし、ここに私の推測があります。データベースから取得したボタン属性を含む結果セットがあります。そして、これらのボタンを「独立して」欲しいと思います。何らかのIDが必要なため、データベースにクエリを実行する必要はないと思います。

データベースがまだクエリされていないときはいつでも、結果セットを静的に事前入力することを考えたことがありますか? これに沿った何か:

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