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