Javascript: добавить атрибут в для ... в заявлении - PullRequest
0 голосов
/ 26 августа 2011

Когда я использую здесь прямую форму ".attribute" во внутреннем цикле for (закомментированная строка), она не работает.Как мне переписать закомментированную строку, чтобы заставить работать прямую форму ".attribute"?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function displayResult()
{
    var data = {
        menge : { type : 'number', value : 5, size : "40" },
        bezeichnung : { type : 'text', value : 'Kuchen', size : "80" },
        euro_stueck : { type : 'text', value : 13, size : "40" } };
    var table_id = "product";
    var table = document.getElementById( table_id );

    var rows = table.getElementsByTagName( 'tr' ).length;
    var tr = table.insertRow( rows );
    for ( name in data )
    {
        var td = document.createElement( 'td' );
        var input = document.createElement( 'input' );
        input.name = name;
        for ( attr in data[name] )
        {
            //input.attr = data[name][attr];  <---
            input.setAttribute( attr, data[name][attr] );
        }
        td.appendChild( input );
        tr.appendChild( td );
    }

}
</script>
</head>
<body>
    <table id="product">
    </table>
    <br />
    <form>
        <input type="button" onclick="displayResult()" value="OK" />
    </form>
</body>
</html>

1 Ответ

2 голосов
/ 26 августа 2011

Ваш вопрос немного неясен, но я думаю, что вам просто нужно использовать обозначение в скобках , как вы делаете в другом месте:

for (attr in data[name])
{
    input[attr] = data[name][attr]; // <---
    input.setAttribute( attr, data[name][attr] );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...