如何忽略选择选项

时间:2017-03-27 09:43:13

标签: html html-select

我的网页上有几个名称为sportprocessed的选择。当我选择首先选择Soccer和第二个 - true时,我向服务器发出此请求:http://localhost/?sport=1&processed=true

我的问题是:

1)是否可以忽略两个选项中的All个选项。因此,当我在两者中选择All或选择一个时,请求中将忽略选择值。

例如:

| Sport  | Processed | request                                  |
|--------|-----------|------------------------------------------|
| All    | All       | http://localhost/                        |
| Soccer | All       | http://localhost/?sport=1                |
| All    | yes       | http://localhost/?processed=true         |
| Soccer | yes       | http://localhost/?sport=1&processed=true |

2)是否可以只使用HTML而不使用JavaScript?

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="http://localhost" method="get">
            <p>
                <select name="sport" title="Sport">
                    <option value="">All</option>
                    <option value="1">Soccer</option>
                    <option value="2">Tennis</option>
                </select>
            </p>
            <p>
                <select name="processed" title="Processed">
                    <option value="">All</option>
                    <option value="true">yes</option>
                    <option value="false">no</option>
                </select>
            </p>
            <p>
                <input type="submit" value="Send">
            </p>
        </form>
    </body>
    </html>

1 个答案:

答案 0 :(得分:1)

我不认为没有javascript就可以完成。如果所选值为空字符串,则javascript解决方案可能是在提交时从表单中删除或禁用select标记。

<script type="text/javascript">
      $(function(){
         $(':submit').click(function(){
              $('select').each(function(){
                  if ( $(this).val() == '' )
                  {
                      $(this).remove(); // or $(this).attr('disabled','disabled');
                  }
              });
         });
    });
</script>