如何通过javascript改变选定的属性


How to change selected attribute via javascript

我有一个问题,我想解决。需要一些正确方向的建议:

使用Prestashop创建组合时,您在产品页面上有一个下拉列表,客户可以从中选择组合。在产品内部。我创建了一些额外的按钮,以获得客户对某些组合的关注。现在我想这个组合被自动选择和激活,当用户单击该按钮。我在产品中输入了一些javascript代码。TPL文件,也隐藏了一些其他元素,当按钮被点击。我只是不让它的工作,一个特定的属性选项是选择在鼠标点击。有人可能有一些线索来解决这个问题??

这是产品页面中属性的选择选项列表。例如,我想在按钮上单击选择选项"大",并通过onclick功能与jquery/javascript在模板内的帮助下在产品页面中激活。如何做到这一点?

<select id="group_4" class="attribute_select selectBox" onchange="findCombination();getProductAttribute();$('#wrapResetImages').show('slow');;" name="group_4" style="display: none;">
<option title="Small" selected="selected" value="21">Small</option>
<option title="Medium" value="41">Medium</option>
<option title="Large" value="40">Large</option>
<option title="Extralarge" value="25">Extralarge</option>

我试过这个,但它不工作:

$('#group_4 option[value='58']').attr('selected', 'selected').change();

你的引号是错误的,看看控制台你会得到错误Uncaught SyntaxError: Unexpected number

$('#group_4 option[value='58']').attr('selected', 'selected').change();
                         ^  ^
应该

$('#group_4 option[value="58"]').attr('selected', 'selected').change();

要更改选中的选项,您可以简单地使用普通JS更改select元素的值:

document.getElementById('group_4').value = 58;

在此之后,您仍然需要触发更改事件。

请看下面一个简单的例子:http://jsfiddle.net/BgBGL/1/(使用alert作为onchange回调)