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 回答