1

行をあるグループから別のグループにドラッグしたら、テーブルの名前属性を変更したいと思います。name 属性を変更する行と対象の名前を取得します。しかし、私のjavascript関数は行名を変更していませんこれは私がこれまでに試したことです

<script type="text/javascript">
        $(document).ready(function() {
            $('#sort').tableDnD({
                onDrop: function(table, row) {
                    var patent_id = row.id;
                    var target_group_id = getpreviousSiblingName(row);
                    var data = {PID:patent_id, TGID:target_group_id};
                    **changename(patent_id,target_group_id);**
                    $.ajax({
                        type: "POST",
                        data: data,
                        url:"{{ path('MunichInnovationGroupBundle_patent_dragpatent') }}",
                        cache: false
                     });
                },
                dragHandle: ".dragHandle"
            });
            $("#sort tr").hover(function() {
                if($(this).hasClass('tr_group'))
                    $(this.cells[0]).addClass('showDragHandle');
                }, function() {
                    $(this.cells[0]).removeClass('showDragHandle');
            });

        });
</script>

    <script>
    function changename(row_id,row_name){
        var row = document.getElementById(row_id);
        alert(row_id);
        alert(row_name);
        row.name=row_name;
        return true;
    }
</script>
4

1 に答える 1

5

Atrには.nameプロパティがないため、属性は自動的にプロパティに転送されません。

setAttribute()代わりに、カスタム属性を設定するために使用してください。

function changename(row_id,row_name){
    var row = document.getElementById(row_id);
    row.setAttribute('name',row_name);
    return true;
}

その後、再度取得するには、次のものが必要ですgetAttribute

row.getAttribute('name');

トピックから外れますが、 を渡してrow.idから を使用する必要はありませんgetElementById。行を直接渡すことができます。

于 2012-06-07T13:40:08.867 に答える