1

動的入力要素を作成していて、その要素にラベルを設定したい... いろいろ試してみた...

//get the value from the input
var getValue = $('#newField').val(); 

//create new input and set default value
var newField = document.createElement("input");
    newField.setAttribute("type", "text");
    newField.setAttribute("name", "s[x]np");
    newField.setAttribute("id", "sx");
    newField.setAttribute("class", "st form-text");
    newField.setAttribute("value", getValue);

$('#addithere').append(newField);

//I've tried all of the following:
newField.prepend("Label");
...

newField.before("Label");
...

$('#sx').prepend("Label");
...

$('#sx').before("Label");
...

var secondItem = "Section: "+newField;
$('#addithere').append(secondItem);
4

2 に答える 2

1

$('#sx').prepend("ラベル");

これは、新しいラベル要素を作成するための正しい構文ではありません。次のようなものを使用する必要があります。

$('#sx').prepend($('<label/>'));
于 2011-10-09T22:12:05.790 に答える
1

試してみません$(newField).before('<label>Your label</label>');か?


編集: 多分あなたは$(document).ready(function(){....}); 私があなたのコードを試しました、これなしではありません - それはうまくいきませんでした...しかし、それでうまくいきました!

$(document).ready(function(){
var getValue = $('#newField').val();
var newField = document.createElement("input");
newField.setAttribute("type", "text");
newField.setAttribute("name", "s[x]np");
newField.setAttribute("id", "sx");
newField.setAttribute("class", "st form-text");
newField.setAttribute("value", getValue);

$('#addithere').append(newField);
$(newField).before('<label>Label</label>');
var secondItem = "Section: "+newField;
$('#addithere').append(secondItem);
});
于 2011-10-09T22:12:38.580 に答える