Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带模式窗口的引导下拉列表问题_Javascript_Jquery_Angularjs_Twitter Bootstrap 3 - Fatal编程技术网

Javascript 带模式窗口的引导下拉列表问题

Javascript 带模式窗口的引导下拉列表问题,javascript,jquery,angularjs,twitter-bootstrap-3,Javascript,Jquery,Angularjs,Twitter Bootstrap 3,当我从下拉列表中选择一个值时,它会填充一个模式窗口,但当我单击“X”关闭模式窗口,然后再次从下拉列表中选择相同的选项时,模型弹出窗口不会填充 $(“#选择框”)。关于(“更改”,函数(){ var sOptionVal=$(this.val(); 如果(/modal/i.test(sOptionVal)){ 变量$selectedOption=$(sOptionVal); $selectedOption.modal('show'); } }); 查找:应用程序支持 苹果梨公司 冷酿公司 小丑

当我从下拉列表中选择一个值时,它会填充一个模式窗口,但当我单击“X”关闭模式窗口,然后再次从下拉列表中选择相同的选项时,模型弹出窗口不会填充

$(“#选择框”)。关于(“更改”,函数(){
var sOptionVal=$(this.val();
如果(/modal/i.test(sOptionVal)){
变量$selectedOption=$(sOptionVal);
$selectedOption.modal('show');
}
});

查找:应用程序支持
苹果梨公司
冷酿公司
小丑野生公司。
×
苹果梨公司
利普苏姆酒店

× 冷酿公司 利普苏姆酒店

× 小丑野生公司。 利普苏姆酒店


您可以使用“更改”和“模糊”两个事件,所以如果选择的选项与上一个相同,则在“模糊”上会显示模式

$("#selectbox").on("change blur", function() {
   var sOptionVal = $(this).val();
   if (/modal/i.test(sOptionVal)) {
     var $selectedOption = $(sOptionVal);
     $selectedOption.modal('show');
   }
 });

在这种情况下,您需要在单击
x
时重置选择。这是因为如果您尝试单击当前选中的同一
选项
,则不会触发任何事件

这将确保当您重新选择任何选项时,它将显示模式

$("#selectbox").on("change", function() {
   var sOptionVal = $(this).val();
   if (/modal/i.test(sOptionVal)) {
     var $selectedOption = $(sOptionVal);
     $selectedOption.modal('show');
   }
 });

 $("button.close").click(function(){
   $("select#selectbox").val($("select#selectbox option:first").val());
 });
小提琴:试试这个。 当引导模式关闭时,所选选项将被删除,并再次附加一个选项。你可以使用这个技巧

希望对你有帮助

$(“#选择框”)。关于(“更改”,函数(){
var sOptionVal=$(this.val();
如果(/modal/i.test(sOptionVal)){
变量$selectedOption=$(sOptionVal);
$selectedOption.modal('show');
}
});
$('.modal').on('hidden.bs.modal',函数(e){
var getValueOnClose=$(“#selectbox:selected”).text();
$(“#selectbox:selected”).remove();
$(“#selectbox:selected”).text(getValueOnClose);
$(“#选择框”).append(“”+getValueOnClose+“”);
$(“#选择框选项:第一”).hide();
});



查找:应用程序支持 苹果梨公司 冷酿公司 小丑野生公司。 × 苹果梨公司 利普苏姆酒店

× 冷酿公司 利普苏姆酒店

× 小丑野生公司。 利普苏姆酒店


如果选择与当前所选相同的选项,则不会触发任何事件。您需要选择另一个选项。@TechBreak还有另一个解决方案,@RickBronger行为不正确。它在选择单击时被激发。甚至我也没有点击选项,只是在选择之外点击。@Bhairav我也看到了你对其他答案的评论。对于要触发的下拉列表
change
事件,您需要更改下拉列表的值,即使您再次选择相同的值,也不会触发更改。您还说不要使用
blur
reset
下拉列表。如果你能告诉我这个模块的目的可能是我们可以想出不同的方法,谢谢你的回复,但我不想重设“选择”选项。我不想使用任何模糊事件,也不能将值重设为“第一个选项”。@Sam blur event不是解决此问题的正确方法,因此我们可以使用:selected来拾取文本并设置为“像selected一样渲染”。