プロジェクトで jQuery と JavaScript の違いを比較しようとしていますが、jQuery オブジェクトを参照する方法がわからないため、1 つの関数を書き直す方法がわかりません。AJAX パラメータとして渡す文字列を連結しています。JavaScript は次のとおりです。
function getSelectValues(select) {
var values = "";
var sep = "";
for(var i = 0; i < select.length; i++) {
if (select.options[i].selected) {
values += sep + (select.options[i].value);
sep = ", ";
}
}
return values;
}
以下は $(this) を渡して jQuery に相当するものかもしれないと思いましたが、うまく動作しないようです。何も選択されていない場合は空の文字列を返すようにしたかったのですが、代わりに null を返しています。
function getSelectValues(select) {
var values = "";
var sep = "";
$("option:selected", select).each(function(){
values += sep + ($(this.val()));
sep = ", ";
});
return values;
}
私も試しました:
$(select).each(function(){
$("option:selected", this).each(function(){
values += sep + ($(this.val()));
sep = ", ";
});
});
それもうまくいきませんでした。