2

私は HTML/JS に非常に慣れていないので、これが基本的な質問である場合はお詫びします... Web でこれを調べようとしましたが、解決策を見つけることができませんでした。

JS コードを使用して HTML を作成しています。スペースを含む var (スペースを含む文字列) で「値」属性を設定しようとしています。クロムで値を調べると、文字列が正しく設定されていないことがわかります。

これは私のJSコードです:

var templateArray = templateString.split("\t");
for (var i = 0; i < templateArray.length; i++) {
  htmlTemplate.push("<option value="+templateArray[i]+">"+templateArray[i]+"</option>");
}

これはテンプレート配列です:

templateArray[0] = template_member_information
templateArray[1] = template - member information

これは、クロムで検査したときに得られるものです。

<option value="template" -="" member="" information="">template - member information</option>
<option value="template_member_information">template_member_information</option>
4

3 に答える 3

2

生の HTML を記述せず、代わりに値のみを保存してから、その場で DOM 要素を作成します。

名前付きの配列内のすべての値があると仮定するとvalues、ドロップダウンリストにそれらの値を持つ項目を入力するコードがあります: (および値に等しいテキスト)

var oDDL = document.getElementById("MyDropDownList");
for (var i = 0; i < values.length; i++) {
    var option = new Option();
    option.value = option.text = values[i];
    oDDL.appendChild(option);
}

これにより、引用符をいじる必要がなくなり、コードがより柔軟になります。

ライブ テスト ケース

于 2013-01-13T12:03:12.897 に答える
1

値を引用符で囲んでみませんか?

htmlTemplate.push("<option value=\""+templateArray[i]+"\">"+templateArray[i]+"</option>");

これは引用符を含む値でも失敗しますが、失敗は少なくなることに注意してください。

于 2013-01-13T11:52:30.217 に答える
1

引用符を忘れました:

var str = "<option value='"+templateArray[i]+"'>"+templateArray[i]+"</option>";
htmlTemplate.push(str);
于 2013-01-13T11:53:20.053 に答える