2013-02-21 28 views
0

我需要在某个jQuery中的<select>元素中发送所选选项的值以发送到我的php文件。在jquery中使用DropDown值

不幸的是,我不断收到它一个未定义的值...

<select name="query" id="query"> 
    <option value="join-us">Join Us</option> 
    <option value="work-with-us">Work with us</option> 
    <option value="about-pf">About Planet Fitness</option> 
    <option value="other">Other</option> 
</select> 

var query = $('#query option:selected').text(); 

console.log('query = ' + query); 

我使用$('#query').val();尝试的回报的console.log

查询=不确定和$('#query').text();

我不知道还有什么要做。

在我看来,:selected psuedoclass需要选项在标记中显示如下。

<option value="bla" selected="selected">bla</option> 

很显然,我失去了这些,但改变的下拉列表中选择不改变这一点,我不认为会是任何意义,将其添加到标记自己...

任何援助将不胜感激

+0

'$( '#query')。VAL()'应该能正常运行。 – 2013-02-21 14:21:27

+0

我相信这就是我开始虽然@ŁukaszW.pl – Ortund 2013-02-21 14:23:23

+0

哪里是你的脚本?它是否准备好了? – ATOzTOA 2013-02-21 14:23:57

回答

0

你什么时候打电话$('#query option:selected').text();

也能正常工作对我来说:

$('#query').change(function() { 
    var query = $('#query option:selected').text(); 

    console.log('query = ' + query); 
}) 

JSFiddle

编辑:什么是downvote?我提供的示例在Chrome和IE中运行良好。

这是一个更新后的版本,显示与按钮单击事件完全相同的东西:JSFiddle

1

您应该使用.val()

$('#query').change(function() { 
    var query = $(this).val(); 
    $('#result').html('query = ' + query); 
}); 

你应该叫$('#query').val()你要提交的时刻。

http://jsfiddle.net/33GSy/1/

+0

OP已经试过。 – ATOzTOA 2013-02-21 14:32:38

+0

是的,但我给了他一个jsfiddle看到它工作我会编辑解释得更好。 – 2013-02-21 14:38:39

+0

+1我会建议发送val而不是文本。 – 2013-02-21 14:40:14

0

这一切正常。

var query = $('#query option:selected').text(); 
console.log('query = ' + query); 

请参阅下面的jsfiddle:

http://jsfiddle.net/FJCSu/3/

1

在这里你去...使用jQuery 1.8.3 ...


实验1Live Demo

代码

<select name="query" id="query"> 
    <option value="join-us">Join Us</option> 
    <option value="work-with-us">Work with us</option> 
    <option value="about-pf">About Planet Fitness</option> 
    <option value="other">Other</option> 
</select> 

<script> 
    var query1 = $('#query option:selected').text(); 
    var query2 = $('#query').val(); 
    var query3 = $('#query').text(); 

    alert('query1 = ' + query1 + '\nquery2 = ' + query2 + '\nquery3 = ' + query3); 
    console.log('query1 = ' + query1 + '\nquery2 = ' + query2 + '\nquery3 = ' + query3); 
</script> 

输出

铬:

query1 = Join Us 
query2 = join-us 
query3 = 
    Join Us 
    Work with us 
    About Planet Fitness 
    Other 

IE:

query1 = Join Us 
query2 = join-us 
query3 = Join Us Work with us About Planet Fitness Other 

火狐:

query1 = Join Us 
query2 = join-us 
query3 = 
    Join Us 
    Work with us 
    About Planet Fitness 
    Other 

实验2Live Demo

代码

<script> 
     function getMyValue() { 
      var query1 = $('#query option:selected').text(); 
      var query2 = $('#query').val(); 
      var query3 = $('#query').text(); 

      alert('query1 = ' + query1 + '\nquery2 = ' + query2 + '\nquery3 = ' + query3); 
      console.log('query1 = ' + query1 + '\nquery2 = ' + query2 + '\nquery3 = ' + query3); 
     } 
    </script> 
</head> 

<body> 
    <select name="query" id="query"> 
     <option value="join-us">Join Us</option> 
     <option value="work-with-us">Work with us</option> 
     <option value="about-pf">About Planet Fitness</option> 
     <option value="other">Other</option> 
    </select> 

    <button onclick="getMyValue();">Click Me</button> 
</body> 

输出(选择

铬 “与我们合作” 后,点击该按钮:

query1 = Work with us 
query2 = work-with-us 
query3 = 
    Join Us 
    Work with us 
    About Planet Fitness 
    Other 

IE:

query1 = Work with us 
query2 = work-with-us 
query3 = Join Us Work with us About Planet Fitness Other 

火狐:

query1 = Work with us 
query2 = work-with-us 
query3 = 
    Join Us 
    Work with us 
    About Planet Fitness 
    Other 

推理

你的代码工作正常,应该是坏了要调用它,尝试将提醒所有的地方的方式......