3

Jquery Mobile を使用して for ループでテキスト ボックスのリストを作成しました。配列リストからこれらのテキスト ボックスにテキストを入力する必要があります。次のコードを使用してみましたが、正しく機能していませんでした。

var myArray = ["Lion","Tiger","Deer","Elephant","Zebra"];
<div class="ui-grid-a"></div>

スクリプトタグが含まれています。

for(i=0;i<5;i++)
{
var content = '<div class="ui-block-a">'
content += '<input data-role="none" type="text" id="textboxId" readonly/>'
$('#textboxId').val(myArray[i]);
content += '</div>'
$('.ui-grid-a').append(content);
}
4

4 に答える 4

4

にまだ追加されていない要素にアクセスしようとしています。コンテンツ文字列に追加することで、その時点DOMに値を追加できます。textboxすべてのテキストボックスに同じものを使用していることにも注意してくださいid。これも間違っています。テキストボックスのに追加iして一意にすることができます。idid

content += '<input id="textboxId"'+i+'" readonly value="' + myArray[i] + '" data-role="none" type="text" />'
于 2013-09-05T05:35:27.653 に答える
4

div ごとに異なる ID が必要です。

var myArray = ["Lion","Tiger","Deer","Elephant","Zebra"];

for(i=0;i<5;i++)
{
    var content = '<div class="ui-block-a">'
    content += '<input data-role="none" type="text" id="textboxId_'+i+'" readonly/>'
    content += '</div>'
    $('.ui-grid-a').append(content);
    $('#textboxId_'+i).val(myArray[i]);
}

デモ

于 2013-09-05T05:38:08.050 に答える
1
var myArray = ["Lion","Tiger","Deer","Elephant","Zebra"];
<div class="ui-grid-a"></div> 

あなたのスクリプト:

        for(i=0;i<5;i++)
        {
           var content = '<div class="ui-block-a">'
           content += '<input id="textboxId '+i+'" readonly value="' + myArray[i] + '"data-role="none   "type="text" />'
           $('.ui-grid-a').append(content);
        }
于 2013-09-05T05:40:09.010 に答える
1

あなたができる:

var myArray = ["Lion","Tiger","Deer","Elephant","Zebra"];
for(i=0; i < myArray.length; i++) {      
      $("<div />", {
          "class" : "ui-block-a"
      }).append($("<input />", {
          "data-role": "none",
          "value": myArray[i],
          "type" :"text",
          "readonly": true
      })).appendTo(".ui-grid-a");
}

デモ:: jsFiddle

于 2013-09-05T05:41:03.803 に答える