2011-05-18 109 views
1

我想根据在两个下拉框中所做的选择对输入框中放置的值执行不同的操作。在这种情况下,它正在转换速度。我在获取输入框的值时没有任何问题,但是我对于如何获得在下拉框中选择的内容有点困惑 - 它似乎没有相同的工作。目前,即使没有选择,所有内容都默认为从FPS转换为MPH的第一条if语句。jQuery和访问下拉值

我只'执行'从FPS转换到MPH/KMH/MS的数学此刻,它看起来像我要结束了很多if else语句,所以也想知道是否有可能是一个更好的方式。

如果你感到困惑,我建议只是看着它: http://jsfiddle.net/Deva/RPkpW/

回答

3

使用jQuery的.val()方法来获得一个下拉的价值。

例如,为了获得在<select name="types">所选<option>的值,

var selected = $('#fpsConvForm').find('select[name="types"]').val(); 

你的标记,省略对<option>元件value属性,因此(按照规格)的那些元素的默认值的值,以标签中的文字。

+0

很好。我更新了jsfiddle,但仍然有问题。我知道这是肯定得到正确的价值,因为我通过打印出来检查。因此我假设我的逻辑错误在某处,因为它假设第一条语句总是正确的? – 2011-05-18 14:56:28

+0

从头开始的 - 我使用一个'='而不是两个即''==我注意到3也适用。那里的规则是什么? – 2011-05-18 15:29:41

+0

通常,你应该坚持'==='。 http://stackoverflow.com/questions/359494/ – 2011-05-18 15:31:04

0

它应该工作一样从输入框获得它,你可以分配选择,就像你可以在输入框中使用$(“#idhere”)的ID和拉所选放下的价值下降的差异是指定的值的选项(见下文)

 <SELECT id="example"> 
    <OPTION VALUE=a SELECTED>example1 
    <OPTION VALUE=b>example2 
    <OPTION VALUE=c>example3 
    <OPTION VALUE=d>example4 
    </SELECT> 

与$(“#示例”)瞄准了这个时候就等于什么的下拉在选择值时返回的值时间。