我需要获取SELECT标签的当前值。为此,我使用$('select').val()
,但这只返回默认值,并且不会更改。我可以帮助我吗?
$('div#buy input').fancybox({
ajax : {
type : "POST",
data : {
id: $('input[name="id"]').val(),
count: $('#count').val()
}
}
});
<select id="count">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
答案 0 :(得分:5)
$('#count').val()
将返回当前选定的值。你缺少选项的价值。
<select id="count">
<option value="1">1</option>
<option value="2">2</option>........
修改:
如果您不想在选项中指定值,则可以使用。
$('#count :selected').val()
答案 1 :(得分:3)
您可以在下拉列表中使用:selected
选择器来获取当前选定的项目:
var selectedValue = $('#count :selected').val()
<强>更新强>
以下是这项工作的一个小提琴:http://jsfiddle.net/deYmN/
答案 2 :(得分:3)
试试这个:
$('select option:selected').val();
答案 3 :(得分:2)
在jQuery中,$('#count').val()
将为id为“count”的<select>
元素提供当前选定的值。我怀疑你的代码示例在用户做出选择之前就已经运行了,这就是你获得默认值的原因。您应该在用户做出选择后的某个时间设置count
属性。这样的事情会起作用:
var fancyboxOptions = {
ajax : {
type : "POST",
data : {
id: $('input[name="id"]').val(),
count: $('#count').val()
}
}
}
$(document).ready(function() {
$('div#buy input').fancybox(fancyboxOptions);
$('#count').change(function() {
fancyboxOptions.ajax.data.count = $('#count').val();
});
});
这样,当选择发生变化时,选项对象将会更新。
答案 4 :(得分:1)
答案 5 :(得分:1)
答案 6 :(得分:1)
$("#count option:selected").val();
//Use text to get the text presented on the ui
$("#count option:selected").text();
答案 7 :(得分:1)
您选择的ID是“count”,因此您需要执行以下操作:
$( '#计数:选择了')。VAL()