使用php从填充的下拉列表中获取值

时间:2017-02-06 17:31:21

标签: javascript php jquery html

我创建了一个动态下拉列表,现在我想获取选项值但是对于第一个或父选择标记,我能够获取选项值但是在依赖选择列表的情况下我无法这样做。

动态下拉列表代码(HTML code)

<select name="category" id="category" class="update">
                <option value="">Select one</option>
                    <?php if(!empty($list)) { ?>
                        <?php foreach ($list as $row) { ?>
                            <option value=" <?php echo $row['id']; ?><?php echo $row['name']; ?>">
                                <?php echo $row['name']; ?>
                            </option>
                        <?php } ?>
                    <?php } ?>
            </select>
            <select id="cat_type" name="cat_type"  class="update">
                 <option value="">----</option>
            </select>
            <select id="cat_size" name="cat_size" class="update">   
                  <option value="">----</option>
            </select> 

动态下拉列表(JS)代码

var formObject = {
    run : function(obj){
            obj.nextAll('.update').html('<option value="">----</option>').attr('disabled',true);

            var id =obj.attr('id');
            var v = obj.val();
            jQuery.getJSON('update.php',{id : id, value:v},function(data){
                if(!data.error){
                    obj.next('.update').html(data.list).removeAttr('disabled');
                }
                else{
                    obj.nextAll('.update').html('<option value="">----</option>').attr('disabled',true)
                }
            });

    }
};

$(function(){
    $('.update').live('change',function(){
        formObject.run($(this));
    });
});

依赖选择列表的PHP代码(组合所有三个代码以生成可靠的下拉列表)

<?php
if (!empty($_GET['id']) && !empty($_GET['value'])) {

    $id = $_GET['id'];
    $value = $_GET['value'];

    try{

    $objDb = new PDO('mysql:host=localhost;dbname=demo', 'root', '');
    $objDb->exec('SET CHARACTER SET utf8');
    $sql = "SELECT * FROM `category` WHERE `master`=?";
    $statment = $objDb->prepare($sql);
    $statment->execute(array($value));
    $list = $statment->fetchAll(PDO::FETCH_ASSOC);

        if (!empty($list)) {
            $out = array('<option value="">Select Type</option>');

            foreach ($list as $row) {
                $out[] = '<option value="'.$row['id'].'">'.$row['name'].'</option>';
            }
            echo json_encode(array('error'=> false, 'list'=> implode('',$out)));
        }
        else{
            echo json_encode(array('error'=> true));        
        }


    }
    catch(PDOexception $e){
        echo json_encode(array('error'=> true));        
    }
}
else{
    echo json_encode(array('error'=> true));
}


?>

代码,我想显示可靠列表选项值

$("#category").change(function(){
                            var item = $(category).val().charAt(2)+$(cat_type).val()+" "+mm+yy+" "+num;        
                              $("#item_code").val(item);
                            });

0 个答案:

没有答案
相关问题