SelectBoxIt - 页面上的多个选择(动态)

时间:2013-10-09 13:02:26

标签: javascript jquery html-select

我有一个页面,如果需要,必须有多个选择框。我正在使用this plugin来设置选择框的样式。

$('body').on('click', '.add_option.add_title', function() {
    $('.add_title_option').after($('.add_title_option .controls').html());
});

这是我的javascript,我“克隆”选择框并在其后添加。

<div class="add_title_option">
    <div class="control-group">
        <label class="control-label" for="title">Title</label>
        <div class="controls">
            <select id="title" name="title">
                <option></option>
                <option value="1">Option #1</option>
                <option value="2">Option #2</option>
                <option value="3">Option #3</option>
                <option value="4">Option #4</option>
            </select>
            <a href="javascript:false;" class="add_option add_title">
                <img src="<?=base_url();?>assets/img/add_options.png" alt="" />
            </a>
        </div>
        <div class="error" id="title_error"></div>
    </div>
</div>

它确实“克隆”了自己,但是选择不起作用。

如何通过javascript添加多个选择?

2 个答案:

答案 0 :(得分:1)

$('body').on('click', '.add_option.add_title', function() {
    $('.add_title_option').after($('#title').clone());
});

答案 1 :(得分:1)

您需要使用

$('.add_title_option').after($('.selectContainer select').clone().show());

Insted of

$('.add_title_option').after($('.add_title_option .controls').html());

为了克隆它,并设置显示从无显示。 然后,您必须使用.selectBoxIt()

转换选择框

使用此插件自定义它。 此外,我已从选择框中删除了ID,以确保我们不会有公开的ID。 这是代码:

    <!DOCTYPE HTML>
<html>
<head>
<link type="text/css" rel="stylesheet" href="http://gregfranko.com/jquery.selectBoxIt.js/css/jquery.selectBoxIt.css" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script src="http://gregfranko.com/jquery.selectBoxIt.js/js/jquery.selectBoxIt.min.js"></script>

<script>
$(function() {

    $(".titleSelect").selectBoxIt();

    $('body').on('click', '#dublicateButton', function() {
        $('.add_title_option').after($('.selectContainer select').clone().show().selectBoxIt());

    });
});
</script>
</head>
<body>

<div class="add_title_option">
    <div class="control-group">
        <label class="control-label" for="title">Title</label>
        <div class="controls">
            <div class="selectContainer" >
                <select class="titleSelect" name="title">
                    <option></option>
                    <option value="1">Option #1</option>
                    <option value="2">Option #2</option>
                    <option value="3">Option #3</option>
                    <option value="4">Option #4</option>
                </select>
            </div>
            <a href="javascript:void(null);" id="dublicateButton" class="add_option add_title">
                click
            </a>
        </div>
        <div class="error" id="title_error"></div>
    </div>
</div>

</body>
</html>