无法获得AJAX参数的选定值

时间:2018-03-29 05:33:06

标签: php mysql ajax

我想将所选选项的idvalue作为参数传递给我的ajax。不知怎的,我可以看到id传递而不是值。

如何实现这一目标,我在这里发布我的代码,请任何建议都会有所帮助。

我尝试了很多方法,但datString上的Object { id: "3", designationname2: "3" }仍显示console.log

<b>Designation</b>
<select name="designation" class="form-control"  id="desig" >
    <option value="">Select a Designation/Role</option>
    <?php
    $sql = mysql_query("SELECT id, designation FROM tbl where status =1 and designationtype_id = 1 ");
    while ($rows = mysql_fetch_assoc($sql)) {
        $des_id2 = $rows['id'];
        $designationname2 = $rows['designation'];
        echo "<option value=" . $des_id2 . ">" . $designationname2 . "</option>";
    }
    ?>
</select>

和AJAX,

<script src = "http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {

        $("#desig").change(function () {

            var id = $(this).val();
            var designationname2 = $('#desig').val();
            var dataString = {'id': id, 'designationname2': designationname2};
            console.log(dataString);
            $.ajax({
                type: "POST",
                url: "escalation_ajax.php",
                data: dataString,
                cache: false,
                success: function (html) {
                    $("#rephead").html(html);
                }
            })
        })
    })
</script>

4 个答案:

答案 0 :(得分:2)

您可以更改以下行

var designationname2 = $('#desig').val();

此行将获取您不需要的所选选项的值

var designationname2 = $(this).find("option:selected").text()

上面的行将为您提供当前元素的所选文本选项的文本。

OR

var designationname2 = $('#desig option:selected').text()

上面的行将给出选择了选项的任何选择器的文本

答案 1 :(得分:1)

试试这个:

var designationname2 = $(this).find('option:selected').text();

答案 2 :(得分:1)

尝试这个

使用text()代替val()

var designationname2 = $( "#desig option:selected" ).text();

答案 3 :(得分:0)

试试这个:

 var designationname2 = $('#desig option:selected').val();