2

JS / Ajax関数を使用して、選択したボックスから選択した値をエコーし​​ています。これらの選択ボックスにMySQLDBの値を入力しています。この関数はテキスト入力フィールドで機能しますが、これらの選択ボックスで使用しているため、応答がありません。

選択したボックスから選択した値をJSでエコーできますか?またはもっと良い方法はありますか?

JS

 <script>
    $(document).ready(function() { 
        var timer = null;  
        var dataString;    
        function submitForm(){ 
            $.ajax({ type: "POST", 
                url: "index.php", 
                dataType: 'json', 
                success: function(result){ 
                $('#special').html('<p>' +  $('#resultval', result).html() + '</p>');} 
                                  }); 
            return false; 
        } 
        $('#category_form').on('change', function() { 
            clearTimeout(timer); 
            timer = setTimeout(submitForm, 2000); 
        }); 
    });  
    </script>

PHP / HTML

try {

    $pdo = get_database_connection();   

    $sql = "SELECT * 
            FROM `categories`
            WHERE `master_id` = 0";
    $statement = $pdo->query($sql);
    $list = $statement->fetchAll(PDO::FETCH_ASSOC);


} catch(PDOException $e) {
    echo 'There was a problem';
} 

    <form action="" method="post" id="category_form'" name="category_form'">

            <select name="main" id="main" size="7" 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']; ?>
                        </option>
                    <?php } ?>
                <?php } ?>
            </select>

            <select name="subc1" id="subc1" size="7" class="update"
                disabled="disabled" hidden="hidden">
                <option value="">----</option>
            </select>

            <select name="subc2" id="subc2" size="7" class="update"
                disabled="disabled" hidden="hidden">
                <option value="">----</option>
            </select>

            <select name="subc3" id="subc3" size="7" class="update"
                disabled="disabled" hidden="hidden">
                <option value="">----</option>
            </select>

        </form>

    <div id="special"></div>
4

1 に答える 1

1

jQueryで間違った要素を選択しているようです。

変化する:

$('#category_form').on('change', function() { 
            clearTimeout(timer); 
            timer = setTimeout(submitForm, 2000); 
        }); 

に:

$('#main').on('change', function() { 
            clearTimeout(timer); 
            timer = setTimeout(submitForm, 2000); 
        }); 
于 2012-07-22T05:58:16.710 に答える