我有一个选择菜单,用户可以在其中选择产品。
%fieldset
%legend
Select a Product
%ul.input_group
%li
%label{:for => "product"}
Product
%select#product
%option
Please Select
%option
2 recipients fo $65
%option
4 recipients for $100
%option
8 recipients for $150
如果用户选择2 recipients for $65
,我想将位于/transcripts/products/recipients/select-recipient
的部分加载到div #recipient-list
中两次。我想说的另一个词是:
#recipient-list
.recipient
...
.recipient
...
如果选择了其他选项,我希望此div用适当数量的项目进行回复。
我将如何为此编写JQuery。
答案 0 :(得分:0)
尝试这样的事情:
$('#product option:selected').each(function(index, product)) {
$('#recipient-list').append($.get('/transcripts/products/recipients/select-recipient/' + product.val()));
}
然后将您的选项更改为以下
%fieldset
%legend
Select a Product
%ul.input_group
%li
%label{:for => "product"}
Product
%select#product
%option
Please Select
%option{value: "2"}
2 recipients fo $65
%option{value: "4"}
4 recipients for $100
%option{value: "8"}
8 recipients for $150
答案 1 :(得分:0)
我想你正在寻找这样的东西:
$('#product').on('change', function() {
var val = parseInt($(this).text(), 10);
if (val < 1) {
$('#recipient-list').empty();
return;
}
$('#recipient-list').load('/transcripts/products/recipients/select-recipient',
function() {
var copy = $(this).children().clone();
while (val-- > 1) {
$('#recipient-list').append(copy);
}
}
);
});