获取JS中的下拉变量返回undefined

时间:2014-11-21 16:12:10

标签: javascript html forms

我有一个带有文本字段,下拉菜单,一些radiobuttons和textarea的表单。 一切正常,但下拉菜单除外。 这是它:

<select class="dropdown" id="employee" size="1" class="text" value="">
                                <option value="1" selected="selected">Heino</option>
                                <option value="2">Michael Jackson</option>
                                <option value="3">Tom Waits</option>
                                <option value="4">Nina Hagen</option>
                                <option value="5">Marianne Rosenberg</option>
                            </select> 
<button id="send" class="btn">Send</button>

如果我点击按钮,我的JS会获得所有值,但下拉列表会显示undefined

    $('#send').click(function() {

    var result=true;

    var name = $('input[name=name]');
    var employee = $('input[name=employee)';
    var product = $('input[name=product]:checked');
    var knowledge = $('input[name=knowledge]:checked');
    var message = $('textarea[name=message]');

    // Data
    var data = 'name=' + name.val() +
    '&employee=' + employee.val() +
    '&product=' + product.val() +
    '&knowledge=' + knowledge.val() +
    '&message=' + encodeURIComponent(message.val());

产品和知识是radiobuttons。他们工作。名称和信息也是。

有没有像收音机按钮“已选中”的方式? 如果公式已成功发送为电子邮件,则此脚本应显示一条成功消息。

3 个答案:

答案 0 :(得分:0)

这里:

var employee = $('input[name=employee)';
''

中的

)

更改时间:

var employee = $('input[name=employee]');

答案 1 :(得分:0)

首先想一想,你忘了关闭] 括号。第二,搜索下拉列表是select元素的输入。第三,您没有将 name 属性添加到下拉列表元素。

更改此代码:

$('input[name=employee)';

进入

$("#employee");

$('select[id=employee]');

校正:

抱歉,试试这个

$('#employee').find(":selected").text();

http://jsbin.com/fihizupoko/1/edit?html,js,output

答案 2 :(得分:0)

谢谢你们。 在你的帮助下得到了答案!

将下拉列表更改为:

<select style="width:341.5px" class="dropdown" name="employee" id="employee" size="1" class="text" value="">
                            <option value="Heino" selected="selected">Heino</option>
                            <option value="Michael Jackson">Michael Jackson</option>
                            <option value="Tom Waits">Tom Waits</option>
                            <option value="Nina Hagen">Nina Hagen</option>
                            <option value="Marianne Rosenberg">Marianne Rosenberg</option>
                        </select>

(值字段中的名称)

JS到:

var employee = $('select[name=employee]');