Jquery模态选择问题

时间:2014-02-28 13:13:38

标签: javascript jquery html5

我有一个内部选择的模态窗口。 模态工作正常,但选择只能工作一次。 有什么问题?

这是我的js。

$s = jQuery.noConflict();
$s(document).ready(function() {

 //Display the modal
 $s('#att-add').on('click', function (e) {
    e.preventDefault();
    $s.fn.custombox( this, {
        overlay: true,
        effect: 'fadein',
        eClose: '.close'
    });
    $s('select').selectric();
 });
});

对于我正在使用Selectric的选择框。

这是我用于模态窗口的html

  <div id="modal" style="display: none;" class="modal-content">
    <div class="modal-header">
        <button type="button" class="close" title="inchide">&times;</button>
        <h3>Adauga un atribut nou</h3>
    </div>
    <div class="modal-body">
      <div class="form-group">
        <label>Numele atributului</label>
        <input type="text" name="name" atocomplete="off" />
      </div>
      <div class="form-group">
        <label>Selectati grupul de atribute</label>
        <select name="groups" class="select">
          {section name=op loop=$groups.attribute_group_id}
           <option value="{$groups.attribute_group_id[op]}">{$groups.name[op]}</option>
           {/section}
        </select>
      </div>
      <div class="form-group">
        <label>Ordinea</label>
        <input class="ordine" type="text" name="ordine"/>
      </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

我对Selectric并不熟悉,但我猜它可能是因为你在每次点击时初始化相同的选择。尝试在点击功能之外移动$s('select').selectric();行。

    $s = jQuery.noConflict();
    $s(document).ready(function() {

    $s('select').selectric();

     //Display the modal
     $s('#att-add').on('click', function (e) {
        e.preventDefault();
        $s.fn.custombox( this, {
            overlay: true,
            effect: 'fadein',
            eClose: '.close'
        });
     });
    });

答案 1 :(得分:0)

我认为问题是当selectric应用其样式时,会删除select元素及其中的模板。您可能需要做的是在用户关闭模式时将回调传递给close的{​​{1}}属性以销毁custombox

selectric

这是未经测试的,我无法轻易重现此问题。