0

私はプロジェクトを進めており、jqueryを使用して、フォーム要素を含むタブを作成しています(それが可能かどうかはわかりませんが、試してみてください)。

タブウィジェットを使用して、forループで動的に呼び出される各行のタブ番号を設定する方法はありますか?

ETA:新しい質問をする代わりに、質問の別の部分を追加するために編集することになっていると思いますか?私はこれを機能させることに本当に近づいていますが、過去数時間ドキュメントを読んだり、さまざまなことを試したりしたにもかかわらず、私はそこに完全に到達できないようです。これをフォーマットする方法を学ぶのに助けを得ることができますか?

ロードできると思ったのですが、うまくいきません。私は(最終的に)タブ付き要素を表示する結果を返すようにphpコードを適切にフォーマットしていると確信していますが、コードを表示してもタブ番号が表示されないため、コードを正しく入力していません。タブ番号関数を誤って参照しているのか、関数を誤って記述しているのか、あるいはその両方なのかわかりません。

アドバイスはTIA!

<script>

    $(function() {

        $( "#tabs" ).tabs({

            load: function numTabs(){
               i = 0;
                       $('.ui-tabs-nav li').each(function(){

                          $(this).children('a').prepend(i + '.');
                          i++;
            });
    }
        });
    });

</script>

これがhtml/phpです:

<?php
include_once('dbxxx.php');
$conn = new DatabaseConn();

$query = "SELECT xxx_id, xxx_name FROM xxxor ORDER BY xxx_id";

$result = mysql_query($query);

if($result){

    echo '<div id="tabs"><ul><br />';

$numfields = mysql_num_fields($result);

$data = array();

$flist = array();

for($i=0;$i<$numfields;$i++)$flist[] = mysql_field_name($result,$i);

        $data[0] = $flist;

        while($row = mysql_fetch_assoc($result)){

            $data[] = $row;

        echo '<li><a href="#tabs-'.$numTabs.'"><input type="hidden" value="'. $row['xxx_id'] .'" />' . $row['xxx_name'] . '</a></li>';

    $query2 = "SELECT zzz_id, zzz_name FROM zzzce ORDER BY zzz_id";

    $result2 = mysql_query($query2);

    if($result2){

        echo '<div id="tabs-'.$numTabs.'">';

        $numzzz = mysql_num_fields($result2);

        $data2 = array();

        $flist2 = array();

        for($j=0;$j<$numzzz;$j++)$flist2[] = mysql_field_name($result2,$j);

        $data2[0] = $flist2;

        while($row = mysql_fetch_assoc($result2)){

            $data2[] = $row;

            echo '
            <input type="checkbox" value="'. $row['zzz_id'] .'" />' . $row['zzz_name'] . '';
            }
            echo '<br /></div>';
    }
    }

echo '</ul></div><br />';
}
4

2 に答える 2

0

それらをループできます:

function numTabs(){
    i = 1;
    $('.ui-tabs-nav li').each(function(){
       $(this).children('a').prepend(i + '.');
       i++;
    });
}
于 2012-05-26T16:35:49.460 に答える
0

これを試して:

<script>

$(function(){
    $( "#tabs" ).tabs({
        load: function(){
           i = 0;
           $('.ui-tabs-nav li').each(function(){
             $(this).children('a').prepend(i + '.');
             i++;
           });
        }
    });
});

</script>

そこには numTabs() 関数名がありましたが、既にアクションを呼び出しているので必要ありません。また、余分な「}」がありました。

于 2012-05-26T20:15:49.963 に答える