PHP,Jquery,Ajax,$.(get)

本文展示了一个使用HTML、jQuery和PHP实现的动态加载表单示例,通过选择不同的分类,页面会异步加载出相应的表单字段。该示例包括了文本输入框和下拉选择框等不同类型的表单元素。

一贯原则(上图):

164721_46Ge_2519486.png

Html:

<tr>
    <td class="lfTdBt">分类:</td>
    <td class="rgTdBt">
        <select name="data[cate_id]" id="jq_cate" class="manageSelect">
            <foreach name="channelmeans" item="item" key="key">
                <option value="">
                    <{$item}>
                </option>
                <foreach name="cates" item="it" key="k">
                    <eq name="it.channel_id" value="$key">
                        <option value="<{$it.cate_id}>">&nbsp;&nbsp;-
                            <{$it.cate_name}>
                        </option>
                    </eq>
                </foreach>
            </foreach>
        </select>

    </td>
</tr>
<tr>
    <td class="lfTdBt"></td>
    <td class="rgTdBt" id="jq_setting">

    </td>
</tr>

JS(Jquery+Ajax):

< script >
var ajaxurl = '<{:U("lifecate/ajax",array("cate_id"=>"0000"))}>';
$(document).ready(function() {
    $("#jq_cate").change(function() {
        if ($(this).val() > 0) {
            var link = ajaxurl.replace('0000', $(this).val());
            $.get(link, function(data) {
                alert(data);
                $("#jq_setting").html(data);
            }, 'html');

        } else {
            alert("请选择分类");
        }
    });
}); < /script>

PHP:

public function ajax($cate_id, $life_id = 0, $type = false) {
    if (!$cate_id = (int)$cate_id) {
        $this->error('请选择正确的分类');
    }
    if (!$detail = D('Lifecate')->find($cate_id)) {
        $this->error('请选择正确的分类');
    }
    $this->assign('cate', $detail);
    //p(D('Lifecateattr')->order(array('orderby' => 'asc'))->where(array('cate_id' => $cate_id,'type'=>$type))->select());
    //exit($attrs);
    //$this->assign('attrs',$attrrs);
    if (!$type) {
        $map = array('cate_id' => $cate_id);
    } else {
        $map = array('cate_id' => $cate_id, 'type' => $type);
    }
    $this->assign('attrs', D('Lifecateattr')->order(array('orderby' => 'asc'))->where($map)->select());
    echo D('Lifecateattr')->getLastSql();
    if ($life_id) {
        $this->assign('detail', D('Life')->find($life_id));
        $this->assign('maps', D('Lifecateattr')->getAttrs($life_id));
    }
    $this->display();
}

Ajax.html:

<table>
    <if condition="!empty($cate['text1'])">
        <tr>
            <td align="right">
                <{$cate.text1}>:</td>
            <td>
                <input type="text" name="data[text1]" value="<{$detail.text1|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['text2'])">
        <tr>
            <td align="right">
                <{$cate.text2}>:</td>
            <td>
                <input type="text" name="data[text2]" value="<{$detail.text2|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text3'])">
        <tr>
            <td align="right">
                <{$cate.text3}>:</td>
            <td>
                <input type="text" name="data[text3]" value="<{$detail.text3|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['text4'])">
        <tr>
            <td align="right">
                <{$cate.text4}>:</td>
            <td>
                <input type="text" name="data[text4]" value="<{$detail.text4|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text5'])">
        <tr>
            <td align="right">
                <{$cate.text5}>:</td>
            <td>
                <input type="text" name="data[text5]" value="<{$detail.text5|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text6'])">
        <tr>
            <td align="right">
                <{$cate.text6}>:</td>
            <td>
                <input type="text" name="data[text6]" value="<{$detail.text6|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text7'])">
        <tr>
            <td align="right">
                <{$cate.text7}>:</td>
            <td>
                <input type="text" name="data[text7]" value="<{$detail.text7|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text8'])">
        <tr>
            <td align="right">
                <{$cate.text8}>:</td>
            <td>
                <input type="text" name="data[text8]" value="<{$detail.text8|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text9'])">
        <tr>
            <td align="right">
                <{$cate.text9}>:</td>
            <td>
                <input type="text" name="data[text9]" value="<{$detail.text9|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['text10'])">
        <tr>
            <td align="right">
                <{$cate.text10}>:</td>
            <td>
                <input type="text" name="data[text10]" value="<{$detail.text10|default=''}>" class="manageInput" />

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['num1'])">
        <tr>
            <td align="right">
                <{$cate.num1}>:</td>
            <td>
                <input type="text" name="data[num1]" value="<{$detail.num1|default=''}>" class="manageInput" />
                <{$cate.unit1}>
            </td>
        </tr>
    </if>

    <if condition="!empty($cate['num2'])">
        <tr>
            <td align="right">
                <{$cate.num2}>:</td>
            <td>
                <input type="text" name="data[num2]" value="<{$detail.num2|default=''}>" class="manageInput" />
                <{$cate.unit2}>
            </td>
        </tr>
    </if>

    <if condition="!empty($cate['select1'])">
        <tr>
            <td align="right">
                <{$cate.select1}>:</td>
            <td>
                <select name="data[select1]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select1">
                            <option value="<{$item.attr_id}>" <eq name="detail.select1" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['select2'])">
        <tr>
            <td align="right">
                <{$cate.select2}>:</td>
            <td>
                <select name="data[select2]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select2">
                            <option value="<{$item.attr_id}>" <eq name="detail.select2" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['select3'])">
        <tr>
            <td align="right">
                <{$cate.select3}>:</td>
            <td>
                <select name="data[select3]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select3">
                            <option value="<{$item.attr_id}>" <eq name="detail.select3" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>


    <if condition="!empty($cate['select4'])">
        <tr>
            <td align="right">
                <{$cate.select4}>:</td>
            <td>
                <select name="data[select4]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select4">
                            <option value="<{$item.attr_id}>" <eq name="detail.select4" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['select5'])">
        <tr>
            <td align="right">
                <{$cate.select5}>:</td>
            <td>
                <select name="data[select5]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select5">
                            <option value="<{$item.attr_id}>" <eq name="detail.select5" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['select6'])">
        <tr>
            <td align="right">
                <{$cate.select6}>:</td>
            <td>
                <select name="data[select6]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select6">
                            <option value="<{$item.attr_id}>" <eq name="detail.select6" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>

    <if condition="!empty($cate['select7'])">
        <tr>
            <td align="right">
                <{$cate.select7}>:</td>
            <td>
                <select name="data[select7]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select7">
                            <option value="<{$item.attr_id}>" <eq name="detail.select7" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['select8'])">
        <tr>
            <td align="right">
                <{$cate.select8}>:</td>
            <td>
                <select name="data[select8]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select8">
                            <option value="<{$item.attr_id}>" <eq name="detail.select8" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['select9'])">
        <tr>
            <td align="right">
                <{$cate.select9}>:</td>
            <td>
                <select name="data[select9]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select9">
                            <option value="<{$item.attr_id}>" <eq name="detail.select9" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>
    <if condition="!empty($cate['select10'])">
        <tr>
            <td align="right">
                <{$cate.select10}>:</td>
            <td>
                <select name="data[select10]" class="manageSelect">
                    <option value="">请选择</option>
                    <foreach name="attrs" item="item">
                        <eq name="item.type" value="select10">
                            <option value="<{$item.attr_id}>" <eq name="detail.select10" value="$item.attr_id">selected="selected"</eq> >
                        <{$item.attr_name}>
                            </option>
                            </eq>
                    </foreach>

                </select>

            </td>
        </tr>
    </if>

</table>


转载于:https://my.oschina.net/yeahlife/blog/537948

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值