【发布时间】:2016-09-06 06:09:43
【问题描述】:
我正在通过 ajax 生成引导模式的内容。当数据加载到其中时,我想遍历该模式中的每个“选择”(数量上是动态的)并提醒其名称和选定值,但它总是提醒我两次,第一次提醒所有默认选定值然后它会提醒我选择的那个。 我的动态引导内容生成代码如下
$(document).on('click','.quick_view',function(e){
e.preventDefault();
var serverBaseUrl = '<?php echo base_url();?>';
$(".modal-body").html('');
$("#qv").modal('show');
$.post(
serverBaseUrl+'Ajax/productQuickView.php',
{
id:$(this).attr('data-id')
},
function(html_response){
$(".modal-body").html(html_response);
return false;
}
);// post
}); // Document dot on click quick view
当有人在模态中单击 id 为“alertselected”的按钮时,我的 Jquery 循环运行两次,其代码为
$(document).on('click','#alertselected',function(e){
e.preventDefault();
var serverBaseUrl = '<?php echo base_url();?>';
$('select').each(function() {
var selectedOption = $(this).find('option:selected');
alert('Value: ' + selectedOption.val() + ' Text: ' + selectedOption.text());
}); //select dot each
}); // Document dot on click quick view
【问题讨论】:
-
当页面到达
$('select').each(function()时,您必须在页面上显示多个选择框,甚至可能在完全不同的区域中。您可以尝试使$('select')中的选择器更具体,例如$('.modal-body select'),这样您就不会抓住页面上的每个选择 -
@DelightedD0D 实际上它会正确地提醒我所有模式中的“选择”,但问题是,它会发出两次警报。例如,我在该模式中有 3 个选择,默认选定文本为“选择一个选项”。它首先提示“选择一个选项” 3 次,然后提示我从那些下拉列表中选择的值。
-
您是否使用了任何可能会克隆选择框并隐藏原件的选择插件?
-
不,我正在抓取所有数据,包括从 ajax 调用中选择的数据。所有这些选择本质上都是动态的。
-
天啊,谢谢,非常感谢。我错过了一个,我有另一个“.modal-body”。现在知道了,将其更改为通过 id 填充。
标签: javascript jquery html ajax twitter-bootstrap