2011-10-24 141 views
6
<select name="category" id="category"> 
    <option value="">All Category</option> 
    <option value="1">Category 1</option> 
    <option value="2">Category 2</option> 
    <option value="3">Category 3</option> 

</select> 

如何选择与价值类= “”jQuery的获得选择选项值空

条件正确:

if($('#category option:selected')){ 
    var category_url = "&category="+$('#category').val(); <!-- True --> 
} 

条件2错误:

if($('#category option[value=""]')){ 
    var category_url = "";        <!-- Error --> 
} 

请帮帮我!!!

+0

添加你想要实现的,所以我们可以指出你在正确的方向。例如,您的条件2将始终返回“true”,因为即使未选择该值,也总会存在value =“”。 – rkw

+0

如果你使用了'''$(“option [value =]”),那么这个过去在jquery(1.7.2)的旧版本中工作,但现在它不再使用了。 –

回答

2

我不知道我是否正确理解你的问题,但你是否想要做这样的事情?

if($('#category option:selected')){ 
    var selValue = $('#category').val(); 
    var category_url; 

    if(selValue) 
     category_url = "&category="+$('#category').val(); <!-- True --> 
    else 
     <!-- error --> 
} 
+1

'if($('#category option:selected')){'will * always * return'true'。你需要检查'长度'。 –

+0

非常感谢。我用代码成功了:'var category_url ='';如果($('#category').val()!=''){category_url =“&category =”+ $('#category')。val(); }' – TuanNguyen

2
if(!$("#category").val()) 
    //selected valule is "" 
+0

非常感谢你。我用代码成功了:'var category_url ='';如果($('#category').val()!=''){category_url =“&category =”+ $('#category')。val(); }' – TuanNguyen

2

这是有点老了,但你可以这样做:

$('#category').find('option:empty') 
0

事实上,如果你告诉浏览器选择什么,它的JOX:

$("#category option").attr("selected", false); //Unselect each option 

默认情况下,浏览器将选择将显示第一个选项,无论是选项的值。

希望这会帮助:)