39

VB から派生した JavaScript は、簡単に理解できるものではありません。否定的にならないでください、私はたくさん試して検索しましたが、運がありません. ところで、SelectJS のオプション リストから初期化されたドロップダウン コントロールを作成しています。

ダミーコード:

var col = 'tardis'; 
var x = '<option value="' + col + '">Very roomy</option>');

selectedcol が「screwdriver」に等しい場合にのみ、col の値の後に追加したいと思います。

? で IF ステートメントを使用してみました。と : しかし、頭が回らないようです。false 値として '' を使用しても機能しません。項目は選択されておらず、リストは空白です。IF ステートメントとすべての作品を削除します。

任意のアイデアと再び、初心者で申し訳ありません。

4

5 に答える 5

70
'<option value="' + col + '"'+ (col === "screwdriver" ? " selected " : "") +'>Very roomy</option>';
于 2011-12-24T04:09:44.577 に答える
3
var x = '<option value="' + col + '"'
if (col == 'screwdriver') x += ' selected';
x += '>Very roomy</option>';
于 2011-12-24T04:01:47.483 に答える
3

このようなもの:

for (/* stuff */)
{
    var x = '<option value="' + col + '" '
        + (col === 'screwdriver' ? 'selected' : '')
        + '>Very roomy</option>';
    // snip...
}
于 2011-12-24T04:02:14.260 に答える
2

If your end goal is to add elements to your page, just manipulate the DOM directly. Don't use string concatenation to try to create HTML - what a pain! See how much more straightforward it is to just create your element, instead of the HTML that represents your element:

var x = document.createElement("option");
x.value = col;
x.text = "Very roomy";
x.selected = col == "screwdriver";

Then, later when you put the element in your page, instead of setting the innerHTML of the parent element, call appendChild():

mySelectElement.appendChild(x);
于 2011-12-24T04:33:51.450 に答える
0

URL バーに次のように入力しました。

javascript:{ var col = 'screwdriver'; var x = '<option value="' + col + '"' + ((col == 'screwdriver') ? ' selected' : '') + '>Very roomy</option>'; alert(x); }
于 2011-12-24T04:08:42.803 に答える