我似乎无法让这个工作,因为你看到我的代码下面要求选择框的第一部分称为“#select_”,然后以随机数结束,即“#select_123”,所以我需要使用一张外卡。但[id^='select_']
似乎不正确。
我还需要将选择元素“selected”选项传递给变量。
jQuery("[id^='select_']").change(function() {
var optionValueText = jQuery.trim(jQuery($("[id^='select_']")+' :selected').text());
//do something
});
我知道如果我只是对id名称进行卡片编码,即jQuery(“#select_123”),这段代码工作正常,但我没有这个选项。
答案 0 :(得分:0)
你可以像这样使用"Starts With" selector :
$('div[id^="select_"] :selected')
从选择器开始:
Selects elements that have the specified attribute with a value beginning exactly with a given string.
答案 1 :(得分:0)
您可以尝试制作选择通用,然后在更改时检查ID:
$("select").change(function(){
var n=$(this).attr("id").split("_");
if(n == "select")
{
//do something here
}
});
答案 2 :(得分:0)
问题在于这一部分:
$("[id^='select_']")+' :selected'
您正在尝试将jQuery对象与字符串连接起来,这可能会起作用,但会导致选择器无效。
您可以简单地使用:
'[id^="select_"] :selected'
或者,既然您已经引用了特定的<select>
元素,请将整个内容更改为:
jQuery("[id^='select_']").change(function() {
var optionValueText = jQuery.trim(jQuery(':selected', this).text());
//do something
});