2009-11-02 233 views
0

我在一个CMS网站上工作,该网站根据ID和值随时创建表单元素。 我需要使用链接从这些表单中选择某些信息。Javascript从选择下拉列表中选择选项,使用href

对于收音机选项和复选框选项我使用此代码: <a href="#" onclick="document.getElementById('RAL1').checked=true">1001</a> 这工作正常。 RAL1是我想检查的收音机的ID。 随着选择的id需要由选项,这是我有问题,因为它需要从一个ID中选择一个值的地方。

形式创建的代码是

<select id="Zinc_plated_field" class="inputboxattrib" name="Zinc_plated12"> 
    <option value="no">no</option> 
    <option value="yes">yes (+€871.08)</option> 
</select> 

我已经试过刚才的一切,但没有运气。任何人都可以指引我走向正确的方向吗?

谢谢!

回答

0

几乎所有的浏览器支持下面的语句来得到选定值("no""yes"):

document.getElementById('Zinc_plated_field').value 

很老的浏览器,你将不得不使用:

var sel = document.getElementById('Zinc_plated_field'); 
sel.options[sel.selectedIndex].value; 

如果你想设置该sel ected价值,有几种方法可以做到这一点:

document.getElementById('Zinc_plated_field').value = 'yes'; 

document.getElementById('Zinc_plated_field').options[1].selected = true; 

document.getElementById('Zinc_plated_field').selectedIndex = 1; 

后两种使用要设置选项的索引(一个指定该索引通过设置<select>元素的selectedIndex属性来选择,而另一个将<option>元素的selected属性设置为true。)

我不能说哪一个是大多数跨浏览器兼容的副手,但如果第一个不起作用,就试试其他两个。

+1

AFAICS,他要设置的值,没有得到它。 – rjmunro 2009-11-02 08:57:57

+0

啊,对了,我更新了我的答案。 – Blixt 2009-11-02 11:20:26

+1

第一个设置器示例('.value ='yes'')适用于所有浏览器,并且速度非常快。但是,如果在'

0

这在Firefox & Safari的工作对我来说:

<a href="#" onclick="document.getElementById('Zinc_plated_field').value = 'yes'">yes</a> 
<a href="#" onclick="document.getElementById('Zinc_plated_field').value = 'no'">no</a>