无法使用jquery获取select元素的值

时间:2014-04-15 13:16:09

标签: jquery

有一些带有值的表格。

<script>
$("#save").click(function(){
    var name=$("#name").val();
    var adress=$("#adress").val();
    var contacts=$('#contacts').val();
    var headPhysician=$('#headPhysician').val();
    var chamber=$["#chamber option:selected"].text();
    var registrationDate=$["#registrationDate"].val();
    form={name:name,adress:adress,contacts:contacts,headPhysician:headPhysician,chamber:chamber,registrationDate:registrationDate}
    $.ajax({
        url : "addLPU.php",
        type: "POST",
        data : form,
        success: function(data, textStatus, jqXHR)
        {
            console.log(data);
        },
        error: function (jqXHR, textStatus, errorThrown)
        {

        },
        });
});
</script>
<div id="lpuName" class="span12">
    <div class="row">
        <p class="span6">Полное наименование больницы</p>
    </div>
    <div class="row">
        <input id="name"class="span6"></input>
    </div>
</div>
<div id="adressContats" class="span12">
    <div class="row">
        <p class="span8">Адрес</p>
        <p class="span4">Все контакты</p>
    </div>
    <div class="row">
        <input id="adress" class="span8" value="ул. Полковая 94"></input>
        <input id="contacts"  class="span4" value="89012983222"></input>
    </div>
</div>
<div id="mainDoctor">
    <div class="row">
        <p class="span4">Имя главного врача</p>
    </div>
    <div class="row">
        <input id="headPhysician" class="span5" value="Иванов Иван Иванович"></input>
    </div>
    <div class="row">
        <p class="span5">Членство в медпалате</p>
        <p class="span3">Когда зарегистрировался как член медпалаты</p>
    </div>
    <div class="row">
        <select id="chamber" class="span5 selectpicker" value="По медицинской этике">
            <option>По медицинской этике</option>
            <option>по правовым вопросам и независимой экспертизе в сфере здравоохранения</option>
            <option>по образованию и науке в сфере здравоохранения</option>
            <option>контрольно-дисциплинарный</option>
            <option>по социальной поддержке и защите интересов медицинских работников</option>
            <option>по развитию рынка услуг в сфере здравоохранения</option>
            <option>по молодежной политике и поддержке медицинских специалистов</option>
        </select>
        <input id="registrationDate" class="span3" value="1970-11-01"></input>
    </div>
</div>
<div id="buttons" class="span12">
    <a href="#" id="save" class="btn btn-primary btn-mini"><i class="icon-white icon-ok"></i> Сохранить</a>
    <a href="#" class="btn btn-primary btn-mini"><i class="icon-white icon-ok"></i> Отменить</a>
</div>

出于某种原因,它用字符串

表示
var chamber=$["#chamber option:selected"].text();

未定义属性文本。为什么呢?

5 个答案:

答案 0 :(得分:4)

你需要使用圆括号而不是jquery选择器的方括号。

正确方式: $(...)

试试这个:

  $("#chamber option:selected").text();

答案 1 :(得分:1)

的括号,而不是括号,因为$()是一个函数

var chamber = $("#chamber option:selected").text();

如果您将代码包装在表单标记中,则可以执行

var form = $('form').serialize();

答案 2 :(得分:1)

代码全部上的[]更改为()

var chamber=$("#chamber option:selected").text();

答案 3 :(得分:0)

如果您想要(如标题中所述)而不是 text ,您应该使用

$("#chamber").val();

这将在

时提供所选选项的value
$("#chamber option:selected" ).text(); 

将提供所选选项的文本 This会有所帮助。

答案 4 :(得分:0)

var chamber=$("#chamber option:selected").text();
    var registrationDate=$("#registrationDate").val();