在jQuery选择器中使用选项[value =“”],并在对象中选择标记

时间:2017-02-22 22:08:36

标签: javascript jquery selector

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

我的目标选择如下:

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

现在我想做这样的事情:

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

我知道这种方式不起作用。我不能将对象与字符串选择器组合,但我不知道如何继续。我已经尝试过这样的事了:

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

以及许多其他方式,但这不起作用。

2 个答案:

答案 0 :(得分:0)

据我了解你可以这样做:

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

答案 1 :(得分:0)

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

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);

我真的不喜欢这样,但是现在这样做。