JavaScript:如何修改<选项>
JavaScript: How to modify value in <option>
如何修改<option>
的值?
我试过:
var example = document.getElementById("test"); // This is the <option>
example.value = "Test";
上面的代码没有修改任何内容
但是,如果上面的代码修改了<select>
显示值的值,则该值为空;
使用example.textContent
更改显示的值。选择option
元素时显示的值是其文本内容。
然而,正如Oriol的回答所示,更改value属性是有意义的,即使它不是立即可见的。
document.getElementById("change").onclick = function () {
var option = document.getElementById("test");
option.textContent = "bon soir";
option.value = "les étoiles sont belles, hein?";
}
document.getElementById("selector").onchange = function() {
// in this line "this" refers to the <select> element
document.getElementById("selection").textContent = this.value;
}
<select id="selector">
<option></option>
<option id="test" value="good to see you">hello</option>
<option value="see you again">goodbye</option>
</select>
<input type="button" id="change" value="Change value" />
<div id="selection"></div>
选项的value
及其文本是不同的。
当选择它的value
时,它将成为select
的value
,并在提交表单时发送到服务器。类似地,当您设置select
的值时,所选的option
将是具有该value
的那个。
您想要更改的是它的文本,例如使用以下其中之一:
option.textContent = "Test";
option.innerHTML = "Test";
在realy中,您需要了解option元素如何sintax。
<option value="my_value">The Label</option>
因此,您需要更改textContent值。请参阅下面的示例。
document.getElementById('change').onclick = function () {
document.getElementById('my_option').textContent = 'My New Label';
document.getElementById('my_option').value = 'my_new_value';
}
<select>
<option id="my_option" value="my_value">My Label</option>
</select>
<button id="change" type="button">change</button>
第一个更改标签(用户的昵称),第二个更改发送到服务器的值。
相关文章:
- 当<选择的选项>重新选择
- 验证`<输入>`在选项卡上
- 渲染<选项值=“;foo”;选择>在服务器上
- Ionic V1.3-标签-带条件的徽章样式<离子选项卡>
- <中的链接;选择>下拉选项
- 给出<选项>标记一个类?API调用不工作
- 在<选择>使用angular ng选项可能使用ng init
- 点击<选择>元素,但不在<选项>
- 使<选择>选项”;点击“;自动地
- Javascript:更改<选择>java脚本中的选项
- 可以't在<选项>
- 添加<td>在选择菜单JQuery中选择选项时
- <选项>单击eventangularjs
- 使第二<选择>如果首先<选择>设置为某个选项
- jQuery在处理<选择><选项>
- 正在从<选择>React中有多个选项
- 如何设置<选项>在用数据绑定填充的选择中='选项:[..]'
- 在<选项>是可行的选择
- jQuery:包含<选项>VALUE</选项>
- 在HTML中选择事件<选项></选项>标签