使用jQuery通过超链接设置所选选项

时间:2011-08-26 15:54:26

标签: jquery select hyperlink option

我想从超链接设置2个选择输入的选定选项。这构成了购物车的一部分,我在其中显示库存中是否有物品,如果有,用户可以点击它。这将设置相应选项的值。当它的整数(不适用于4.5)时,这适用于大小,并且它没有设置拟合的值。

我已将代码放在http://jsfiddle.net/jeepstone/G6Mz5/

的jsfiddle上

有什么想法吗?

非常感谢

4 个答案:

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