我想将所选选项的id
和value
作为参数传递给我的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();