显示所选选项的文本框,并添加新的div -jQuery

时间:2012-02-24 13:07:40

标签: javascript jquery dynamic

我有想要录制的文章。每篇文章都有多个引用(最多100个),引用可能是书籍或文章。 如果参考书是一本书,我必须得到作者姓名,页码等。 如果是一篇文章,那么我必须发表期刊,年份等(有差异)。

因此,我想让用户从下拉菜单中选择是文章还是书籍。然后必须显示相关的文本框。用户填写相关信息,参考1即可。

但是,因为当参考编号未知,并且可能是10-20-30等时,我必须添加一个添加按钮,当参考1信息完成时,必须显示参考编号。

如果首先点击添加按钮,则会出现与该选择相同的选择菜单,新文本框变为可见,依此类推......

这是一个用于在选定选项后显示文本框的小jquery:

$(function() {
    //This hides all initial textboxes
    $('label').hide();
    $('#sel').change(function() {
        //This saves some time by caching the jquery value
        var val = $(this).val();
        //this hides any boxes that the previous selection might have left open
        $('label').hide();
        //This just opens the ones we want based off the selection
        switch (val){
            case 'option1':
            case 'option4':
            case 'other':
                $('#label1').show();
                break;
            case 'option2':
                $('#label1').show();
                $('#label2').show();
                $('#label3').show();
                break;
            case 'option3':
                $('#label1').show();
                $('#label2').show();
                break;        }
    });

这是为了添加新的div:

<script type="text/javascript">
        var initial=0;
        function addReference(){
            var newDiv= addNewDiv();
            var htcontents="";
            document.getElementById(newDiv).innerHTML=htcontents;
        }
        function addNewDiv(){
            initial=initial+1;
            var ni = document.getElementById('area');
            var newdiv=document.createElement('div');
            var divIdName = 'Div #' +initial;
            newdiv.setAttribute('id', divIdName);
            ni.appendChild(newdiv);
            return divIdName;
        }
    </script>

当然htcontents用html表格填充。

如何有效地做到这一点?

非常感谢。

0 个答案:

没有答案