在 jQuery select 中使用选项 [value=""] 或在对象中使用标记 select

Use option[value=""] in jQuery selector with tag select in object

我正在寻找一种通过变量 select 来定位选项值的方法。

我这样定位我的 select:

var elem_reference = $(this).find('tr').closest('.reference');

现在我想做这样的事情:

$(elem_reference+'option[value="'+id_article+'"]').attr('selected','selected');

我知道这种方式行不通。我无法将对象与字符串组合 selector 但我不知道如何继续。我已经尝试过这样的事情:

$(elem_reference).filter('option[value="'+id_article+'"]').attr('selected','selected');

还有许多其他方法,但这不起作用。

据我了解,您可以这样做:

 $($(this).find('tr').closest('.reference')).find('option[value="'+id_article+'"]').attr('selected',true);

我找到了一个方法, 首先我的选择器是反转的,而不是 :

var elem_reference = $(this).find('tr').closest('.reference');

我不得不使用:

var elem_reference = $(this).closest('tr').find('.reference');

为了解决我的问题(不是很优雅的方式)我使用:

$(this).closest('tr').find('.reference option[value="'+id_article+'"]').prop('selected', true);

我不太喜欢那样,但现在就可以了。