Jquery使用以。开头的任何选择框ID

时间:2013-01-16 14:00:59

标签: jquery select

我似乎无法让这个工作,因为你看到我的代码下面要求选择框的第一部分称为“#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”),这段代码工作正常,但我没有这个选项。

3 个答案:

答案 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
  }
});

http://jsfiddle.net/ZTMKK/

答案 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  
});