【问题标题】:Issue with jQuery returning a value from a <select> boxjQuery 从 <select> 框中返回值的问题
【发布时间】:2012-01-14 05:55:09
【问题描述】:

我正在使用 jquery 从选择框中获取值,因此我可以通过 ajax 将其发布到 php 脚本中。问题是我一直得到一个“未定义”的值,而我希望它是来自&lt;selec&gt; 列表的值。

这是一个示例(从类别列表中选择一个值并单击提交):http://jsfiddle.net/Rug9S/1/

如您所见,无论选择什么值,您都会得到“未定义”的值。

HTML

<form name="create" method="post" action="">
            <fieldset>
                <select name="category" id="sc_category">
                    <option value="Select a category" selected="">Select a category</option>
                    <option value="Love">Love</option>
                    <option value="Work">Work</option>
                    <option value="Sex">Sex</option>
                    <option value="Money">Money</option>
                    <option value="Kids">Kids</option>
                    <option value="Health">Health</option>
                    <option value="Friends">Friends</option>
                    <option value="Education">Education</option>
                    <option value="Other">Other</option>
                </select><span id="sc_info">Choose the most relevant category for your story.</span><br />
                <label class="error" for="category" id="category_error">Please select a category</label><br />



                <input type="submit" name="submit" class="button" id="submit_btn" value="Submit" />   
            </fieldset>
        </form>

java 脚本

$(document).ready(function() {
    //Story Form
    $('.error').hide();
    $(".button").click(function() {

        $('.error').hide();
        var category = $("input#sc_category").val();
        if (category == "") {
            $("label#category_error").show();
            $("input#sc_category").focus();
            return false;
        }

        var dataString = 'category=' + category;
        alert(dataString);
        return false;

    });
});

我只在表单中包含选择元素,其他所有元素(输入/文本区域...)都可以正常工作。

【问题讨论】:

  • $("input#sc_category").val();

标签: jquery forms select


【解决方案1】:

改变这一行

 var category = $("input#sc_category").val();

  var category = $("#sc_category").val();

【讨论】:

    【解决方案2】:

    要获得一个选择值,就像这样

    $('#sc_category option:selected').val();

    【讨论】:

      【解决方案3】:

      sc_category 不是“输入”类型,而是选择类型。

      使用: $("#sc_category").val(); 要么 $("select#sc_category").val();

      【讨论】:

      • 这发生在我们所有人身上!敲了敲头之后,我们看到了自己的错误。
      猜你喜欢
      • 2017-09-25
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多