我想从超链接设置2个选择输入的选定选项。这构成了购物车的一部分,我在其中显示库存中是否有物品,如果有,用户可以点击它。这将设置相应选项的值。当它的整数(不适用于4.5)时,这适用于大小,并且它没有设置拟合的值。
我已将代码放在http://jsfiddle.net/jeepstone/G6Mz5/
的jsfiddle上有什么想法吗?
非常感谢
答案 0 :(得分:2)
可能有一种更简单的方法,但这是基于你在小提琴中已有的代码:
$('.instock').bind({
click: function(e) {
e.preventDefault();
var data = $(this).attr('rel').split(',');
$('#size').find("option").filter(function() {
return $(this).text() === data[0];
}).attr('selected',true);
$('#fitting').find("option").filter(function() {
return $(this).text() === data[1];
}).attr('selected',true);
}
});
这会获取所有option
个元素,然后对其进行过滤,只留下与当前文本匹配的元素。
这是一个update fiddle。
答案 1 :(得分:0)
$('.instock').bind({
click: function(e) {
e.preventDefault();
var data = $(this).attr('rel').split(',');
$('#size').find('option:contains("' + data[0].toString() + '")').attr('selected',true);
$('#fitting').find('option:contains("' + data[1].toString() + '")').attr('selected',true);
}
});
我已经在你的jsfiddle链接测试了它,它现在正在工作
答案 2 :(得分:0)
您需要做的就是将选择的val()
设置为您想要的。
请参阅:http://jsfiddle.net/tclayson/kE4c5/
<select id="mySelect">
<option value="1">One</option>
<option value="2">Two</option>
</select>
<br /><br />
<a href="#" id="clicked">Click</a>
当您点击“点击”链接时,它只会将选择(#mySelect)的值设置为2.
$(document).ready(function(){
$('#clicked').click(function(){
$('#mySelect').val('2');
return false;
});
});
因此,您可以根据选项的值更改选择(例如:4.5在您的情况下为46),而不是尝试find()
您要设置为选中的选项。
答案 3 :(得分:0)
句点是一个特殊字符,需要通过两个反斜杠进行转义。试试这个:
$('#size').find('option[text=' + data[0].toString().replace(".", "\\.") + ']').attr('selected',true);