jQuery获取选择框选项的值为空

7
<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>

如何选择值为空的类别

正确条件:

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

第二个条件错误:

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

请说明您想要实现的目标,这样我们才能指导您朝正确的方向前进。例如,您的条件2将始终返回“true”,因为即使未选择该值,仍将存在一个值“ =” 的情况。 - rkw
这在旧版本的jquery(1.7.2)中曾经有效,如果您使用$("option[value=]"),但现在不再有效。 - Juan Ibiapina
6个回答

3
if(!$("#category").val())
     //selected valule is ""

非常感谢。我已经成功地使用代码:var category_url = ''; if($('#category').val() != ''){ category_url = "&category="+$('#category').val(); } - TuanNguyen

2
我不确定我是否正确理解了您的问题,但是您是想做类似于这样的事情吗?
if($('#category option:selected')){
     var selValue = $('#category').val();
     var category_url;

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

1
如果 ($('#category option:selected')) { },将始终返回'true'。您需要检查'length'。 - Andy E
非常感谢。我已经成功地使用以下代码:var category_url = ''; if($('#category').val() != ''){ category_url = "&category="+$('#category').val(); } - TuanNguyen

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

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

1
事实上,如果您告诉浏览器不选择任何内容,它会执行以下操作:
$("#category option").attr("selected", false); //Unselect each option

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

希望这可以帮助你 :)


0

关于单选按钮组

 $("input[type='radio'][value='']").prop("checked", true);

-1

这个问题可能有点老了,但对其他人来说仍然有用。

$( <选择器> ).find('option[value="<所需值>"]').attr('selected','selected')


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接