PHP多个后续HTML选择字段

时间:2014-08-23 03:46:04

标签: javascript php jquery ajax html-select

我想创建一个包含多个后续选择字段的表单。 这来自包含3个字段的数组:ID,Name,followingID。 FollowID与ID匹配,因此我们可以找出图层。

小规模示例: 0 = ID,1 =名称,2 = followID

    Array
       (
        [0] => Array
            (
                [0] => 1
                [1] => Auto’s, werktuigkundigen, technici, ingenieurs
                [2] => 0
            )

        [1] => Array
            (
                [0] => 2
                [1] => Bewaking, leger, politie
                [2] => 1
            )

        [2] => Array
            (
                [0] => 3
                [1] => Bouw, montage
                [2] => 1
            )

        [3] => Array
            (
                [0] => 4
                [1] => Commercieel, winkel, inkoop en verkoop
                [2] => 2
            )

        [4] => Array
            (
                [0] => 5
                [1] => Financiën, bank, verzekering
                [2] => 2
            )

        [5] => Array
            (
                [0] => 6
                [1] => Gezondheidszorg, paramedici, laboratorium
                [2] => 3
            )

        [6] => Array
            (
                [0] => 7
                [1] => Gezondheidszorg, paramedici, laboratorium
                [2] => 4
            )

在这种情况下 等级1 - > followingID = 0

2级 - >如果选择第一个选项

,则followID = 1

如果不将所有内容手动放在jquery脚本中,我无法找到一种方法。

1 个答案:

答案 0 :(得分:0)

我想出了什么。 它不漂亮,但它的工作原理。有谁知道更好的解决方案?

<script>
    $(document).ready(function() {
        var followingID = 0;
        $(".jobs").hide();
        $("#0").show();

        $(".jobs").change(function() {
            var id = $(this).attr("id");
            var ref = $(this).attr("value");
            $(".jobs").hide();
            $(".jobs").removeAttr("name");
            $("#0").show();
            $("#" + id).show();
            $("#" + this.value).show();
            $('option[ref="' + id + '"]').parent().show();
            if ($("#" + this.value).length == 0) {
                $("#" + id).attr("name", "sdata[]");
            }
        });

    });
</script>

<?
    function renderAllJobs() {
        $jobs = getJobs();
        $followingID = -1;
        $html = '';
        foreach ($jobs as $job) {
            if ($followingID != $job[2]) {
                if ($followingID > -1) {
                    $html .= '</select></p>';
                }
                $followingID = $job[2];
                $html .= '<p><select class="jobs" ref="' . $job[2] . '" id="' . $followingID . '">
            <option value="0">Maak een keuze</option>';
            }
            $html .= '<option ref="' . $job[0] . '" value="' . $job[0] . '">' . $job[1] . '</option>';

        }
        $html .= '</select></p>';
        return $html;

    }

    echo renderAllJobs();