首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lightbox杀死javascript表单选项

Lightbox杀死javascript表单选项
EN

Stack Overflow用户
提问于 2014-07-25 11:35:40
回答 1查看 720关注 0票数 0

因此,我使用的表单有一个棘手的问题。因此,它被放置在一个很好工作的灯箱里。问题是,有一个选项可以根据您以前选择的内容切换下面的选项。

这在光之盒之外工作,但在形体内的光盒中失败。

我正在使用这个例子:演示Fiddle

因此,我首先在标题中加载这个:

代码语言:javascript
复制
<script src="http://code.jquery.com/jquery-1.7.0.min.js"></script>
<script src="release/featherlight.min.js" type="text/javascript" charset="utf-8"></script>

以下是造成问题的部分表单:

代码语言:javascript
复制
<div class="lightbox" id="fl1">


    <form>

    <select name="select1" id="select1">
    <option value="1">Fruit</option>
    <option value="2">Animal</option>
    <option value="3">Bird</option>
    <option value="4">Car</option>
    </select>


    <select name="select2" id="select2">
    <option value="1">Banana</option>
    <option value="1">Apple</option>
    <option value="1">Orange</option>
    <option value="2">Wolf</option>
    <option value="2">Fox</option>
    <option value="2">Bear</option>
    <option value="3">Eagle</option>
    <option value="3">Hawk</option>
    <option value="4">BWM<option>
    </select>

    </form>
</div>

这两个脚本在页面底部如下:

代码语言:javascript
复制
<script>

$("#select1").change(function() { 
if($(this).data('options') == undefined){
    /*Taking an array of all options-2 and kind of embedding it on the select1*/
    $(this).data('options',$('#select2 option').clone());
    } 
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html(options);
});

</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-25 12:46:42

我不太熟悉你用的灯箱库。我无法完全弄清楚如何隐藏原来的div和保持覆盖内容显示。这很奇怪,因为它复制了元素,所以正在发生的是绑定到原始元素,但是创建的新元素没有它。

http://jsfiddle.net/fRuhn/940/更新了小提琴,但下面是代码:

代码语言:javascript
复制
<select name="select1" class="select1">
<option value="1">Fruit</option>
<option value="2">Animal</option>
<option value="3">Bird</option>
<option value="4">Car</option>
</select>


<select name="select2" class="select2">
<option value="1">Banana</option>
<option value="1">Apple</option>
<option value="1">Orange</option>
<option value="2">Wolf</option>
<option value="2">Fox</option>
<option value="2">Bear</option>
<option value="3">Eagle</option>
<option value="3">Hawk</option>
<option value="4">BWM<option>
</select>

更改为ids上的类,以便绑定到正确的select。然后,我将事件绑定到一个函数中:

代码语言:javascript
复制
function bindEvents() {
  $(".select1").change(function() { 
    if($(this).data('options') == undefined){
      /*Taking an array of all options-2 and kind of embedding it on the select1*/
      $(this).data('options',$('#select2 option').clone());
    } 
    var id = $(this).val();
    var options = $(this).data('options').filter('[value=' + id + ']');
    $('.select2').html(options);
  });
}

然后在羽光调用中,添加一个afterOpen:

代码语言:javascript
复制
$('a').featherlight({
    targetAttr: 'href',
    afterOpen: function () {
      bindEvents();
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24954861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档