0

我正在为带有选择框的表单编写代码,该选择框必须由特定 html 部分的内容填充。我设法获得了特定部分的 id(它由 cms 自动创建),因此您可以使用 javascript 调用该部分。

问题是我不知道如何用逗号分割内容,如“红、蓝、黄”,并将其分割成一个选择框作为选项。

这是我拥有的javascript代码的一部分:

    function offerte(){
    var kleuren = document.getElementById('product_kleuren'); 

// here has to come a code to populate the select box
    }

和html部分:

    <div><span class="extra_fields_name">Kleuren</span>:
    <span id="product_kleuren" class="extra_fields_value">Naturel, Helder, Zwart</span></div>

    <label class="offerte_lbl">Kleur: </label><select id='kleuren'  class='offerte_input'></select><br>

我知道的不多,我仍在学习 javascript,但我真的不知道如何获取由逗号分隔的特定 html 部分的内容并将它们分隔成值以填充选择框。

4

4 回答 4

1

尝试

var kleuren = $('#product_kleuren').text(); 
var splitter = kleuren.split(',');
var options = '';
for(var i = 0; i < splitter.length; i++)
{

 options += '<option value="' + splitter[i] + '">' + splitter[i]+  '</option>';
}
$('#kleuren').html(options);
于 2013-07-25T15:06:49.620 回答
1

使用 jquery 使用此代码..

var arr = $("#product_kleuren").split(",");

for(var i=0;i<arr.length;i++)
$("#kleuren").append("<option>"+arr[i]+"</option>");
于 2013-07-25T15:07:17.310 回答
1

使用 Pure JS,您可以使用.split(",")将拆分值放入数组中,然后遍历数组创建option元素:

<select id="someSelect"></select>

JS

function offerte(){
    var kleuren = document.getElementById('product_kleuren');
    var parts = kleuren.innerHTML.split(",");

    for (var i = 0; i < parts.length; i++) {
        var option = document.createElement("option");
        option.text = parts[i];
        option.value = i;
        document.getElementById("someSelect").appendChild(option);
    }
}

演示:http: //jsfiddle.net/fvDPh/

于 2013-07-25T15:09:58.697 回答
0

您可以使用以下方式拆分字符串String.split

//split the words into an array called "words"
var words = kleuren.split(',');

//iterate through the words with jQuery.each()
$(words).each(function() {
    word = this.trim();   //trim any extra whitespace from the word

    //now you can add the word as an option to the <select>
});
于 2013-07-25T15:10:57.657 回答