javascript - 使用 javascript (Bookly WP 插件) 选择一个下拉值
问题描述
我正在尝试使用 js 选择一个下拉值。就我而言,我需要在插件加载后选择“DRAW PORTRAIT”下拉选项。
我尝试了两种方法,但我没有得到任何地方。这是Bookly WordPress 插件中前端的一部分。我在下拉列表中添加了一个 id id="category"
,以便我可以选择一个值。
HTML:
<div class="bookly-js-chain-item bookly-table bookly-box" style="display: table;">
<div class="bookly-form-group">
<label>Service Type</label>
<div>
<select id="categorydraw" class="bookly-select-mobile bookly-js-select-category">
<option value="">Select category</option>
<option value="6">DRAW PORTRAIT</option>
<option value="7">DRAW DUMMY FIGURE</option>
<option value="8">DESIGN WAX SCULPTURE</option></select>
</div>
</div>
</div>
方法01
document.getElementById("categorydraw").value = "DRAW PORTRAIT";
方法02
var objSelect = document.getElementById("categorydraw");
setSelectedValue(objSelect, "DRAW PORTRAIT");
function setSelectedValue(selectObj, valueToSet) {
for (var i = 0; i < selectObj.options.length; i++) {
if (selectObj.options[i].text== valueToSet) {
selectObj.options[i].selected = true;
return;
}
}
}
请查看 js 不起作用的完整代码:https ://jsfiddle.net/3z5hcv62/
如果有人能纠正我胡思乱想的代码,我将不胜感激。提前致谢!
解决方案
首先,我想确定。您要选择下拉列表的值还是将值设置为下拉列表?也许这会帮助你解决问题。
HTML
<!-- I set the "categories" id to the dropdown -->
<select class="bookly-select-mobile bookly-js-select-category" id="categories">
<option value="">Select category</option>
<option value="1">Cosmetic Dentistry</option>
<option value="2">Invisalign</option>
<option value="3">Orthodontics</option>
<option value="4">Dentures</option>
</select>
<p>
Selected value: <strong id="selected"></strong>
</p>
JavaScript
var dropdown = document.getElementById('categories');
var datas = [];
var select = 3;
/* Get value with text from dropdown */
for(var i=0;i<dropdown.options.length;i++) {
datas.push({
id: dropdown.options[i].value,
text: dropdown.options[i].text,
});
}
/* For set the value */
dropdown.value = select; // after page loaded,, default value will selected is "Orthodontics"
/* For select current value with the text */
var dataSelected = datas[select];
document.getElementById('selected').innerHTML = "ID: "+dataSelected.id+", TEXT: "+dataSelected.text;
结果将显示如下https://jsfiddle.net/65jnzLko/1/
您可以改进该代码。就像通过下拉值的 id 选择数据一样。
或者,如果您只想为下拉菜单设置值,您可以这样做
// using pure js
document.getElementById('yourdropdown').value = 3 // or other values
// using jquery
$("#yourdropdown").val(5) // 5 can replace with other values
推荐阅读
- javascript - 如何选择一个类的span标签中的内容
- c# - The type or namespace name 'GroundTruth' does not exist in the namespace 'Osi3' (are you missing an assembly reference?)
- javascript - 使用 GSAP/d3.js 画布 HTML5 动画
- android - 如何暂时禁用数据绑定可观察对象
- android - Android 工作室 - Android 支持存储库
- javascript - 在 Firefox 中显示一个名为 innerHTML 的空选项卡
- mysql - 如何替换mysql字符串中的特殊字符
- python - Python - 管道的 Numpy 问题
- d3.js - 在 d3 和 svg 中旋转后使用 path.getPointAtLength 获取点坐标
- laravel - Laravel 语法错误将结束标记 '}' 放在创建链接时不应该出现的位置