0

我想通过 div 内的' 循环,并使用 jQuery 按其出现的顺序a填充其上方的选择框的选项hrefa

这是我的代码

<div class="results_filter">
    <label for="sort" class="dropdown_label">Sort by:</label>
    <select name="sort" id="sort" class="custom_select">
        <option value="">Make</option>
        <option value="">Year of Manufature</option>
        <option value="">Price</option>
    </select>
    <a href="/cars/index/sort:make_id/direction:asc">Make</a><a
        href="/cars/index/sort:model_year/direction:asc">Year of
    Manufature</a><a href="/cars/index/sort:asking_price_from/direction:asc">Price</a>
</div>

我试过了,但它不工作

$(document).ready(function () {
    $('div.results_filter > a').each(function (n) {
        $("#sort > options" + n).val($(this).text());
    });
})

任何帮助表示赞赏。请不要问我为什么使用这种尴尬的方法。:)

4

1 回答 1

1

您必须option为每个元素创建新元素并将它们附加到选择中。

var sort = $("#sort");
$("div.results_filter > a").each(function() {
    var option = $("<option>").attr("value",$(this).attr("href")).text($(this).text()); 
    sort.append(option);
});

http://jsfiddle.net/stwRW/

于 2013-08-26T11:59:55.613 回答