我目前正在将自己的jquery代码添加到由第三方构建和托管的网站(因此我无法编辑HTML以删除属性等)。我正在尝试返回下拉框中当前所选项的值(例如,这个值从100到500逐步为100),HTML:
<select name="ctl00$cpMainBody$OptionCalc$Quantities" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cpMainBody$OptionCalc$Quantities\',\'\')', 0)" id="ctl00_cpMainBody_OptionCalc_Quantities" class="form-control">
<option selected="selected" value="234">100</option>
<option value="235">200</option>
<option value="236">300</option>
<option value="237">400</option>
<option value="238">500</option>
</select>
这是我的jquery:
function displayVals() {
var dropDowns = $( "#ctl00_cpMainBody_OptionCalc_Quantities" ).val();
$( "#displaying" ).html( "<strong>Value:</strong> " + dropDowns);
}
$(document).on("change", "select", displayVals);
displayVals();
当我从下拉列表中选择一个选项时,发生的事情是,返回的值是234而不是100,235而不是200,等等。
我迷失了如何让它返回option元素的内容而不是value属性的值?
答案 0 :(得分:2)
这是预期的行为 - 选择的.val()
是所选项目的值。你应该使用
var dropDowns = $( "#ctl00_cpMainBody_OptionCalc_Quantities option:selected" ).text();
答案 1 :(得分:1)
这是预期的行为。要改为检索内部文本,您需要获取所选选项并获取其文本,如下所示:
<span>
答案 2 :(得分:1)
如果你想获得文本值,你可以这样做
$("#ctl00_cpMainBody_OptionCalc_Quantities option:selected").text();
如果您$("#ctl00_cpMainBody_OptionCalc_Quantities").text();
没有:selected
,则会获得每个选项的列表,例如
100
200
300
400
500
答案 3 :(得分:-1)
user_id