Select 默认情况下 <select> 中的所有选项
Select by default all options in <select>
我在给html充电时需要,select默认选项列表中的所有选项:
这是我在 .inc
中的代码的一部分
drupal_add_js(
"
var projects='$projectsEncode';
var narrativeList='$narrativeListEncode';
var outputs='$outputsEncode';
var topoNetwork='$topologicalNetworkEncode';
var datasetUuid='$datasetUuid';
var narrativeCount='$narrativeCount';
var footprintNid='$footprintLayersEncode';
",
'inline'
);
这是我在 .js 中的代码的一部分
var narratives = JSON.parse(narrativeList);
var narrativeDropdown = $("#narrativeMode");
narratives.forEach(function (narrative) {
narrativeDropdown.append('<option value=' + narrative.nid + '>
Narrativa ' + narrative.name + '</option>');
});
var elements = document.getElementById("narrativeMode").options;
console.log("Elementos cargados:",elements)
for(var i = 0; i < elements.length; i++){
elements[i].selected= true;
}
这是 html。
<select class="mi-selector custom-select" multiple='multiple' data-style="form-control" data-live-search="true" title="-- Seleccione mínimo 1--" id="narrativeMode">
</select>
感谢您的帮助
您的代码不起作用,因为您比较的是 selected
而不是归因。
改变这个:
for(var i = 0; i < elements.length; i++){
elements[i].selected== true; // Note the use of == here
}
对此:
for(var i = 0; i < elements.length; i++){
elements[i].selected = true; // Note the use of single = here
}
您正在比较值,而不是设置它们:
elements[i].selected == true;
使用:
elements[i].selected = true;
工作示例:
var narrativeDropdown = $("#narrativeMode");
var elements = document.getElementById("narrativeMode").options;
console.log("Elementos cargados:", elements)
for (var i = 0; i < elements.length; i++) {
elements[i].selected = true;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="mi-selector custom-select" multiple='multiple' data-style="form-control" data-live-search="true" title="-- Seleccione mínimo 1--" id="narrativeMode">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
更新
您可以在创建选项元素时添加selected
:
narrativeDropdown.append('<option value=' + narrative.nid + ' selected>
Narrativa ' + narrative.name + '</option>');
});
通过这样做,您不必再次循环选项,因此您可以删除此循环:
for(var i = 0; i < elements.length; i++){
elements[i].selected= true;
}
我在给html充电时需要,select默认选项列表中的所有选项: 这是我在 .inc
中的代码的一部分drupal_add_js(
"
var projects='$projectsEncode';
var narrativeList='$narrativeListEncode';
var outputs='$outputsEncode';
var topoNetwork='$topologicalNetworkEncode';
var datasetUuid='$datasetUuid';
var narrativeCount='$narrativeCount';
var footprintNid='$footprintLayersEncode';
",
'inline'
);
这是我在 .js 中的代码的一部分
var narratives = JSON.parse(narrativeList);
var narrativeDropdown = $("#narrativeMode");
narratives.forEach(function (narrative) {
narrativeDropdown.append('<option value=' + narrative.nid + '>
Narrativa ' + narrative.name + '</option>');
});
var elements = document.getElementById("narrativeMode").options;
console.log("Elementos cargados:",elements)
for(var i = 0; i < elements.length; i++){
elements[i].selected= true;
}
这是 html。
<select class="mi-selector custom-select" multiple='multiple' data-style="form-control" data-live-search="true" title="-- Seleccione mínimo 1--" id="narrativeMode">
</select>
感谢您的帮助
您的代码不起作用,因为您比较的是 selected
而不是归因。
改变这个:
for(var i = 0; i < elements.length; i++){
elements[i].selected== true; // Note the use of == here
}
对此:
for(var i = 0; i < elements.length; i++){
elements[i].selected = true; // Note the use of single = here
}
您正在比较值,而不是设置它们:
elements[i].selected == true;
使用:
elements[i].selected = true;
工作示例:
var narrativeDropdown = $("#narrativeMode");
var elements = document.getElementById("narrativeMode").options;
console.log("Elementos cargados:", elements)
for (var i = 0; i < elements.length; i++) {
elements[i].selected = true;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="mi-selector custom-select" multiple='multiple' data-style="form-control" data-live-search="true" title="-- Seleccione mínimo 1--" id="narrativeMode">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
更新
您可以在创建选项元素时添加selected
:
narrativeDropdown.append('<option value=' + narrative.nid + ' selected>
Narrativa ' + narrative.name + '</option>');
});
通过这样做,您不必再次循环选项,因此您可以删除此循环:
for(var i = 0; i < elements.length; i++){
elements[i].selected= true;
}