发送到AJAX名称和所选选项的值

时间:2014-01-31 05:04:24

标签: jquery ajax select

我正在尝试通过ajax在下拉菜单中发送选定选项的名称和值,以便能够启动包含所选选项的sql-request。

这是我到目前为止所做的:

jQuery的:

$('#form_stadt_kanton').select(function() {
    var kanton = $('#form_stadt_kanton').find(":selected");
    $.ajax({
                // Daten sammeln
                url: "wholephp.php",  // Selbe Domain
                cache: false,
                type: "GET",
                dataType: "text",
                data: kanton,
                success: function(para) {
                    $("#allecheckboxes").html(para)
                    drawMarkersMap()
                } // Ende Function
            }) // Ende ajax
            ereignis.preventDefault(); //Stop der Formular-Aktion
}) //Ende function

和html / php:

<form method="GET" action="" id="form_stadt_kanton">
        <table>
            <tr><th><label for="stadt">Nach <b>Stadt</b> filtern:</label></th></tr>
            <tr><td><input type="text" id="stadteingabe" value="Stadt eingeben">

            

        <table class="tablefloatright">
            <tr><th><label for="kanton">Nach <b>Kanton</b> filtern:</label></th></tr>
            <tr><td><select><option id="">Kanton auswählen</option>
            <?php
            $i = 1;
            foreach ($kantone as $kanton) {
                echo "<option name='kanton".$i."' value='".$kanton."'>".$kanton."</option>";
                $i=$i+1;
            } 
            ?>
            </select></td></tr>
        </table>
        </form>

在php文件“wholephp.php”中,我希望能够使用以下代码:foreach($_GET as $name => $wert) 这就是为什么我需要获取选项的名称及其值。根据“名称”的不同,WHERE条件不同。

我非常感谢这方面的任何帮助。它不能太复杂,但我只是不明白。有什么想法吗?

非常感谢提前!

编辑: 我终于可以用serializeArray()来解决这个问题。以下是(工作)代码的样子:

jQuery / Ajax:

$(document).on('change', 'select', function(){
    //var kanton = $('#form_stadt_kanton').find(":selected");
    var kanton = $('#form_stadt_kanton').serializeArray();
    $.ajax({
                // Daten sammeln
                url: "wholephp.php",  // Selbe Domain
                cache: false,
                type: "GET",
                dataType: "text",
                data: kanton,
                success: function(para) {
                    $("#allecheckboxes").html(para)
                    drawMarkersMap()
                } // Ende Function
            }) // Ende ajax
            ereignis.preventDefault(); //Stop der Formular-Aktion
}) //Ende function

HTML / PHP:

<form method="GET" action="" id="form_stadt_kanton">
        <table>
            <tr><th><label for="kanton">Nach <b>Kanton</b> filtern:</label></th></tr>
            <tr><td><select name='kanton'><option value="" selected='selected'>Kanton auswählen</option>
            <?php
            $i = 1;
            foreach ($kantone as $kanton) {
                echo "<option value='".$kanton."'>".$kanton."</option>";
                $i=$i+1;
            } 
            ?>
            </select></td></tr>
        </table>
        </form>

1 个答案:

答案 0 :(得分:0)

试试这个,

var kanton = $('#sel_kanton').val();

id='sel_kanton'添加到您的select element

<select id='sel_kanton'>...

将其传递给ajax data喜欢,

data: {kanton:kanton},