0

以下の私のコードを見ると、最初の部分が「#select_」と呼ばれる選択ボックスが必要であり、その後、乱数、つまり「#select_123」で終わる必要があるため、これを機能させることができないため、ワイルドカードを使用する必要があります. しかし、[id^='select_']それは正しくないようです。

また、選択要素の「選択済み」オプションを変数に渡す必要があります。

jQuery("[id^='select_']").change(function() {

var optionValueText = jQuery.trim(jQuery($("[id^='select_']")+' :selected').text());

   //do something  

});

ID名、つまりjQuery( "#select_123")をカードコーディングするだけで、このコードが正常に機能することはわかっていますが、そのオプションはありません。

4

3 に答える 3

0

selectをジェネリックにして、変更されたIDを確認することができます。

$("select").change(function(){

  var n=$(this).attr("id").split("_");
  if(n == "select")
  {
   //do something here
  }
});

http://jsfiddle.net/ZTMKK/

于 2013-01-16T14:07:29.643 に答える
0

「で始まる」セレクターを使用できます:このように

$('div[id^="select_"] :selected')

セレクターで始まる:

Selects elements that have the specified attribute with a value beginning exactly with a given string.

于 2013-01-16T14:06:20.470 に答える
0

問題はこの部分です:

$("[id^='select_']")+' :selected'

jQuery オブジェクトを文字列と連結しようとしていますが、これは機能しますが、無効なセレクターになります。

以下を簡単に使用できます。

'[id^="select_"] :selected'

または、特定の要素への参照が既にあるため<select>、全体を次のように変更します。

jQuery("[id^='select_']").change(function() {
    var optionValueText = jQuery.trim(jQuery(':selected', this).text());
    //do something  
});
于 2013-01-16T14:11:17.603 に答える