如何在Jquery中获取所选选项的值

时间:2012-04-08 09:56:15

标签: javascript jquery html

我有这个代码(PHP为我生成的一个例子)......

<select id="outsideBlue3">
<option id="bgImg" value="4f6e2288e3ddsa.zip">4f6e216857a0d.zip</option>
<option id="bgImg" value="4f6e2288e22dda.zip">4f6e2188a39a2.zip</option>
<option id="bgImg" value="4f6e2288e3dda.zip">access-denied.php.zip</option>
<option id="bgImg" value="4f80b747ab81c.jpg">UntitledDocument.jpg</option>
</select>

选项标记内的字符串是上载文件的名称。该值是文件在服务器上的名称。

我尝试使用$("#outsideBlue3").val()并尝试了$("#outsideBlue3").attr("value"),但它没有返回任何内容。当我删除值标签时,我尝试的第一个工作,但后来我在选项标签内得到了字符串。我想要value标签的内容。

谢谢!

2 个答案:

答案 0 :(得分:2)

这应该这样做

$('#outsideBlue3 option:selected').val()

答案 1 :(得分:0)

//getSelectedOption
function getSelectedOptions(e) {
    var options = [];
    for (var i = 0; i < e.options.length; i++) {
        if (e.options[i].selected == true) {
            options[options.length] = e.options[i];
        }
    }
    return options;
}

//if your select tag is a single select one  [next line return option selected]
getSelectedOptions(document.getElementById('outsideBlue3'))[0] 

//if your select tag is a single select one  [next line return value selected]
getSelectedOptions(document.getElementById('outsideBlue3'))[0].value

//if your select tag is a single select one  [next line return text selected]
getSelectedOptions(document.getElementById('outsideBlue3'))[0].text