2016-04-15 8 views
3

このチェックボックス要素を動的に生成しましたが、動的にチェックしようとしています。ここ は、私はそれをやっている方法です:入力チェックボックス要素を確認できません

var id = "123"; //dynamically generated 

var input = document.createElement("input"); 

input.setAttribute("type", "checkbox"); 
input.setAttribute("name", "x_"+id); 
input.setAttribute("id", "x_"+id); 
input.setAttribute("value", ""); 

input.setAttribute("checked",true); //This isn't working 

var elem = document.getElementById('x_' + id); 
elem.checked = true;  //This isn't working 
+0

ていますか?要素は 'elem'を介して選択されていますか? 'console.log(elem.id)'を投げる。また、新しく作成された要素をボディや他の要素に追加していないので、まだありません –

+0

属性ではなくプロパティを扱うほうが簡単ですので、 'input.type = 'checkbox';'など; ) – RobG

+0

その情報が不足して申し訳ありません!私はinput要素をテーブルの行に追加しています。私はちょうどそのdocument.getElementById( 'x_123');作品!!しかし、document.getElementById( 'x _' + id)にアクセスすることは要素をチェックしていません。 – ryog

答えて

3

あなたが実際にページに要素を追加することはありません。それはここに働く、ちょうど実行する必要があります。あなたはそのID/wの1つだけの要素を持っていることを確認し

document.body.appendChild(input); 

var id = "123" 
 
var input = document.createElement("input"); 
 

 
input.setAttribute("type", "checkbox"); 
 
input.setAttribute("name", "x_"+id); 
 
input.setAttribute("id", "x_"+id); 
 
input.setAttribute("value", ""); 
 

 
input.setAttribute("checked",true); //This isn't working 
 

 
document.body.appendChild(input); 
 

 
var elem = document.getElementById('x_' + id); 
 
elem.checked = true;  //This isn't working`enter code here`

関連する問題