我有一个内部选择的模态窗口。 模态工作正常,但选择只能工作一次。 有什么问题?
这是我的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">×</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>
答案 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
这是未经测试的,我无法轻易重现此问题。