0

サイトに動的プルダウン検索メニューを追加しました。私が提供したリンクに移動すると、左側に、テーブル オプションの javascript の行の追加/削除の 2 つのリンクが表示class="chzn-select"されます。これらは、プルダウン メニューに (動的検索メニュー) を追加するまで問題なく機能します。クラスが追加されると、何らかの理由で新しい行が追加されなくなります。

左側のメニューをクリックすると、アクションの NoCSS テーブルと、class="chzn-select". 問題は、このメニューの css がメニューの状態に応じて動的であることだと思いますが、どこに問題があるのか​​ わかりません。どんな助けでも感謝..

テストのリンク: http://directa.sytes.net/test/ ユーザー: test1パス: test1

使用するスクリプトの追加/削除: jsfiddle.net/frtrc

ありがとう

ここにcssコードを貼り付けますが、サイトはコードが含まれていると言い続けており、どのようにフォーマットしても投稿できません.. :\

4

2 に答える 2

1

問題は、select オプションの後に動的に新しい div を生成する selected.jquery.min.js と choose.css を使用するときに発生します 。 function()は、2 つのタグのみが入力と選択を追加するためです。

javascript行を追加することをお勧めします

$(document).ready(function($)
    {
        $('#sif_roba1').next('div').attr("id","sif_roba1");//Chane Code
        $('#sif_roba1').next('div').attr("name","sif_roba1");
        // trigger event when button is clicked
        $("button.add").click(function()
        {
            // add new row to table using addTableRow function
            addTableRow($("table"));
            // prevent button redirecting to new page
            return false;

        });

        // function to add a new row to a table by cloning the last row and 
        // incrementing the name and id values by 1 to make them unique
        function addTableRow(table)
        {

            // clone the last row in the table
            var $tr = $(table).find("tbody tr:last").clone();


            // get the name attribute for the input and select fields


            $tr.find("input,select,div").attr("name", function()
            {
                // break the field name and it's number into two parts
                var parts = this.id.match(/(\D+)(\d+)$/);
                // create a unique name for the new field by incrementing
                // the number for the previous field by 1
                return parts[1] + ++parts[2];

            // repeat for id attributes
            }).attr("id", function(){
                var parts = this.id.match(/(\D+)(\d+)$/);
                return parts[1] + ++parts[2];
            });
            // append the new row to the table
            $(table).find("tbody tr:last").after($tr);
            $tr.hide().fadeIn('slow');

            // row count
            rowCount = 0;
            $("#table tr td:first-child").text(function() {
                return ++rowCount;
            });

            // remove rows
            $(".remove_button").on("click", function() {
                $(this).parents("tr").fadeOut('slow', function () { 
                    $(this).remove();
                    rowCount = 0;
                    $("#table tr td:first-child").text(function() {
                        return ++rowCount;
                    });
                });
           });

        };
    });

OK、そのページを変更します...

于 2013-03-18T14:31:31.703 に答える
0

この問題は、検索バー (国の選択用) を備えたスタイルのドロップダウンを作成するプラグインに起因します。

国のリストをフィルタリングするために使用される入力フィールドが表示されます。これに関する問題は、この入力フィールドにid-attribute がないため、次のコードを実行すると、分割する ID がなく、配列が空になることです。

$tr.find("input,select").attr("name", function()
{
    // break the field name and it's number into two parts
    var parts = this.id.match(/(\D+)(\d+)$/);
    // create a unique name for the new field by incrementing
    // the number for the previous field by 1
    return parts[1] + ++parts[2];
    // repeat for id attributes
}).attr("id", function(){
    var parts = this.id.match(/(\D+)(\d+)$/);
    return parts[1] + ++parts[2];
});

解決策は、最初に分割する ID があることを確認することです。詳細については、こちらをご覧ください。

属性による要素の選択

また、関数がイベントをclickMe()キャッチしてonclickも何の目的も果たせず、エラーが発生します。

于 2013-03-18T12:18:56.087 に答える