如何使用JavaScript以编程方式设置选择框元素的值?
问题原因:编程中有时候需要通过 JavaScript 来动态设置一个 select 元素的值。
解决方法:可以通过以下代码来实现动态设置 select 元素的值:
function setSelectValue (id, val) { document.getElementById(id).value = val; } setSelectValue('leaveCode', 14);
上述代码中,setSelectValue 函数接收两个参数,分别是 select 元素的 id 和要设置的值。通过 document.getElementById(id) 获取到 select 元素,并将其 value 属性设置为要设置的值 val。最后,通过调用 setSelectValue 函数,并传入相应的参数,就可以动态设置 select 元素的值了。
问题:如何使用JavaScript以编程方式设置选择框元素的值?
原因:用户想要通过编程的方式来设置选择框元素的值。
解决方法:
1. 如果使用jQuery,可以使用以下代码:
$('#leaveCode').val('14');
这将选择值为14的
2. 使用纯JavaScript,可以使用以下两种Document方法来实现:
- 使用document.querySelector根据CSS选择器来选择元素:
document.querySelector('#leaveCode').value = '14';
- 使用document.getElementById()根据id来选择元素:
document.getElementById('leaveCode').value = '14';
以下是可以运行的代码示例,展示了这些方法和jQuery函数的使用:
const jQueryFunction = () => { $('#leaveCode').val('14'); } const querySelectorFunction = () => { document.querySelector('#leaveCode').value = '14'; } const getElementByIdFunction = () => { document.getElementById('leaveCode').value = '14'; }
这段代码还包含了HTML和CSS代码,用于展示选择框和按钮:
此方法也适用于多选框,只需将一个字符串数组传递给'val'函数即可。参见:stackoverflow.com/a/16583001/88409
是否有办法通过这样做来触发$('#leaveCode').on('change', function()?
$("#leaveCode").val("14").change();
问题的出现原因是需要通过JavaScript编程来设置select框元素的值。解决方法是使用下面的函数:
function selectElement(id, valueToSelect) { let element = document.getElementById(id); element.value = valueToSelect; } selectElement('leaveCode', '11');
其中,id为select框的id,valueToSelect为要设置的值。此外,如果需要触发onchange事件,可以使用下面的代码:
element.dispatchEvent(new Event('change'));
需要注意的是,这种方法不会反映在HTML的value属性上。在HTML中,`
另外,需要注意的是在IE中,``中的显示文本作为valueToSelect的值。
在Chrome浏览器中,隐藏的字段不会动态改变其值,所以必须是可见的或者`display`属性不等于`none`。
如果需要触发change事件的话,也需要加上下面的代码:
element.dispatchEvent(new Event('change'));