使用jquery清除select form元素中的值

时间:2012-03-15 10:38:25

标签: jquery html

我试图在jQuery应用程序的select元素中清除/清空所选值

<div  data-role="fieldcontain">
    <label for="select-choice-1" class="select">Choose shipping method:</label>
    <select style="font-weight: normal" name="select-choice-1" id="select-choice-1">
        <option value="standard">Standard: 7 day</option>
        <option value="rush">Rush: 3 days</option>
        <option value="express">Express: next day</option>
        <option value="overnight">Overnight</option>
    </select>
</div>

使用以下行

$('#select-choice-1').val('');

然而,它并不清楚。所选值保持不变。

http://jsfiddle.net/neilghosh/MECXW/11/

4 个答案:

答案 0 :(得分:1)

单值select 总是有一个选定的值,默认为第一个条目。

如果你想要一个“空”选项,你需要自己将它添加到选项列表的顶部,然后在它实际使用时将其排除。

答案 1 :(得分:0)

value()更像是attr('value')的快捷方式。对于您的使用,请使用text()或html()代替

答案 2 :(得分:0)

<html>
<head>

<script type="text/javascript"  src="js/jquery.js"></script>    
    <script type="text/javascript">
      $(document).ready(function(){
            $('button').click(function(){
                $('select option:first').attr('selected','selected');
            });
        });
    </script>

</head>
<body>
<select>
<option value="0">--select--</select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button>Reset</button>
</body>
</html>

答案 3 :(得分:0)

您正在使用jQuery Mobile。所以你需要刷新你的组件:

检查这个分叉的小提琴:http://jsfiddle.net/guumaster/MECXW/15/(*)

基本上你必须像这样“刷新”它:

    $('#select-choice-1').selectmenu('refresh');

检查jQuery Mobile docs for Selects

(*)我还添加了一个没有名为“None”的值的选项。