「;」を忘れました 後i++
...
「i」変数を使用する代わりにindex
withを使用できます。each()
$('.ingredients').each(function(index) {
$(this).find('option[value="' + ids[index] + '"]').attr("selected","selected");
});
また、選択された属性をオプションに設定することは、選択要素が「select-one」タイプである場合に他の要素に影響を与えるため、最初に考えるよりも少しトリッキーです。これは、チェックボックスとラジオだけでなく、オプションの選択/選択解除を処理する jQuery Form プラグイン内で提供される小さなプラグインです。次のように使用します。
これをコードのどこかに置くだけです:
$.fn.selected = function(select) {
if (select == undefined) select = true;
return this.each(function() {
var t = this.type;
if (t == 'checkbox' || t == 'radio')
this.checked = select;
else if (this.tagName.toLowerCase() == 'option') {
var $sel = $(this).parent('select');
if (select && $sel[0] && $sel[0].type == 'select-one') {
// deselect all other options
$sel.find('option').selected(false);
}
this.selected = select;
}
});
};
次に、最初に指定したコードを次のように置き換えてみてください。
$('.ingredients').each(function(index) {
$(this).find('option[value="' + ids[index] + '"]').selected(true);
});