好吧,说我有这个。
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
如果我想得到"选项B",当我有'2'的值时,选择器会是什么样子?
请注意,这不是在问如何获得_选择_的文本值,而只是问其中的任何一个,无论是否选择,都取决于值属性。我试过了。
$("#list[value='2']").text();
但它没有起作用。
这对我来说是完美的,我正在寻找一种方法来发送两个不同的值与MySQL生成的选项,以下是通用和动态的。
$(this).find("option:selected").text();
。就像在一个评论中提到的那样。 有了这个功能,我就可以创建一个动态函数,与我所有的选择框一起工作,我想得到两个值,选项值和文本。
几天前,我注意到,当更新jQuery从1.6到1.9的网站,我使用这段代码,这停止工作... ... 可能是和其他代码冲突了...... 总之,解决方法是把find()调用中的选项去掉。
$(this).find(":selected").text();
这是我的解决方案... 只有在更新jQuery后有问题时才使用。
jQuery("select option[value=2]").text()。
jQuery("选择选项:选定").text()。
你可以通过使用函数.text();
来获取所选的选项文本。
你可以这样调用该函数。
jQuery("select option:selected").text();
当"循环"
用.each(function()...)通过动态创建的选择元素。
$("option:selected").text();
和$(this+" option:selected").text()
并没有返回选中的选项文本--相反,它是空的。
但Peter Mortensen'的解决方案成功了。
$(this).find("option:selected").text();
我不知道为什么通常的方法在.each()
中不成功(可能是我自己的错误),但是谢谢你,Peter。
我知道这不是最初的问题,但我提到它"为通过Google."来的新手。
我本来会从$('#list option:selected").each()
开始,只是我需要从select元素中也抓取东西。
一个小窍门:如果你的值是动态的,你可以使用以下代码 如果你的值是动态的,你可以使用下面的代码。
$("#list option[value='"+aDynamicValue+"']").text();
或者(更好的风格)
$("#list option").filter(function() {
return this.value === aDynamicValue;
}).text();
如https://stackoverflow.com/questions/12135825/jquery-get-specific-option-tag-text-and-placing-dynamic-variable-to-the-value/12135848 所述。
您可以通过以下方式获得
$("#list").find('option').filter('[value=2]').text()
$("#list").find('option[value=2]').text()
$("#list").children('option[value=2]').text()
$("#list option[value='2']").text()
<!--开始片段。 js hide: false console: true babel.false --> -- begin snippet: js hide: false console: true false -->
$(function(){
console.log($("#list").find('option').filter('[value=2]').text());
console.log($("#list").find('option[value=2]').text());
console.log($("#list").children('option[value=2]').text());
console.log($("#list option[value='2']").text());
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
<!--结束片段-->
我想要一个动态版本的select multiple,可以在右边显示选择的内容(希望我'读下去,早点看到$(this).find
...)。
)。
<script type="text/javascript">
$(document).ready(function(){
$("select[showChoices]").each(function(){
$(this).after("<span id='spn"+$(this).attr('id')+"' style='border:1px solid black;width:100px;float:left;white-space:nowrap;'> </span>");
doShowSelected($(this).attr('id'));//shows initial selections
}).change(function(){
doShowSelected($(this).attr('id'));//as user makes new selections
});
});
function doShowSelected(inId){
var aryVals=$("#"+inId).val();
var selText="";
for(var i=0; i<aryVals.length; i++){
var o="#"+inId+" option[value='"+aryVals[i]+"']";
selText+=$(o).text()+"<br>";
}
$("#spn"+inId).html(selText);
}
</script>
<select style="float:left;" multiple="true" id="mySelect" name="mySelect" showChoices="true">
<option selected="selected" value=1>opt 1</option>
<option selected="selected" value=2>opt 2</option>
<option value=3>opt 3</option>
<option value=4>opt 4</option>
</select>