1

我正在尝试使用 jquery 将选定的选项文本发送到 url,但是每当我将表单包装在<form></form>标签之间时,它就会停止工作并发送值而不是文本。如果我删除表单标签,它会按照我期望的方式运行。

我想知道是否有任何方法可以在不排除表单标签的情况下使其工作

谢谢!

<form>
    <select name="brand" id="brand" class="update">

        <option value="">Seleccionar</option>

        <?php if (!empty($list)) { ?>

            <?php foreach($list as $row) { ?>

                <option value="<?php echo $row['id']; ?>">

                    <?php echo $row['name']; ?>

                </option>

            <?php } ?>

        <?php } ?>

    </select>

    <select name="model" id="model" class="update" disabled="disabled">
        <option value="">----</option>
    </select>

    <select name="size" id="size" class="update" disabled="disabled">
        <option value="">----</option>
    </select>

    <input type="submit" value="Search" id="submit">

</form>

    </div>
    </div>
    <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>

    <script src="js/core.js" type="text/javascript"></script>

    <script type="text/javascript">
      $(document).ready(function(){
       $('#submit').click(function(){
        var brand = $('#brand option:selected').text();
        var model = $('#model option:selected').text();
        var size = $('#size option:selected').text();
        location.href ='index.php?s='+brand+'+'+model+'+'+size+'';
       });
      });
    </script>
4

2 回答 2

2

表单正在提交,您需要防止:

$(document).ready(function(){
   $('#submit').click(function(e){
    e.preventDefault();
    var brand = $('#brand option:selected').text();
    var model = $('#model option:selected').text();
    var size = $('#size option:selected').text();
    location.href ='index.php?s='+brand+'+'+model+'+'+size+'';
   });
});
于 2013-02-03T21:37:46.953 回答
0

您需要false从事件处理程序返回以防止表单提交发生。

只需添加

return false;

在末尾。(您也可以按照 adeneo 的回答所说的去做;任何一个都应该工作。)

于 2013-02-03T21:37:19.250 回答