无法获取 AJAX 参数的选定值



我想将所选选项的idvalue作为参数传递给我的ajax。不知何故,我可以看到id传递,但没有值。

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

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

<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>

您可以在Line下方更改

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

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

to

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

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

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

上线将提供任何选择器的文本,其中选定选项

尝试以下:

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

尝试这个

使用text()代替val()

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

尝试以下:

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

最新更新