所以我有一个菜单,其中列出了每个国家及其缩写。我想发送全名(菜单选项的文本)而不是值。所以我尝试创建一个函数switchval()
来执行此操作,但它没有切换值。有什么想法吗?
function switchval(){
var countries = document.getElementById('countries');
countries = countries.options[countries.selectedIndex].text;
document.getElementById('countries').value = countries;
}
答案 0 :(得分:1)
设置option元素的值。我更改了变量名称,使它们更有意义。请考虑您的编码风格并使用好的变量名称,并且不要将变量两次用于不同的数据类型(这是疯狂的)。另外,设置选项元素的值是完全错误的,我觉得打字很脏。
function switchval(){
var selectEl = document.getElementById('countries');
var optionEl = selectEl.options[selectEl.selectedIndex];
var country = optionEl.text;
optionEl.value = country;
}
答案 1 :(得分:0)
我将继续讨论buddhabrot所说的内容 - 更改value
属性是错误的,可能并非所有浏览器都支持。
我会使用hidden
元素并将text
属性设置为该属性,将select
元素的名称更改为“countries-select”并将隐藏元素设置为“国家”。
这样,当您的表单发布时,它将具有表单处理器的正确“名称”,而且您的代码中将有一个可靠的方法。