【发布时间】:2016-01-21 03:54:22
【问题描述】:
正如标题所说,我正在尝试更新选择框。但这对我不起作用。
我的 HTML:
<div class="col-sm-3">
<select class="form-control" id="answer9">
<option value="00">Select</option>
<option value="0">0 - No Problems</option>
<option value="1">1 - Some Problems</option>
<option value="2">2 - Considerable Problems</option>
<option value="3">3 - Severe Problems</option>
</select>
</div>
JQuery 和 AJAX:
$('#fetch').click(function(){
var nameid = parseInt($('#names').val());
if(nameid == 0){
$('#showerr').html("Please Select an Client").show().delay(3000).fadeOut("slow");
$('#names').focus();
return false;
}
$.ajax({
url : 'wsevaluationresult.php',
type : "POST",
datatype : "JSON",
data : {
'editvalues' : 1,
'id' : nameid
},
success:function(re){
$('#answer9').val(show.answ9);
}
});
});
PHP 和 MySQL:
if(isset($_POST['editvalues'])) {
$stmt = $db->prepare('SELECT clientid, answ9
FROM evals
WHERE a.memberid = :memberid
AND clientid = :id');
$stmt->bindValue(':memberid', $_SESSION["memberid"], PDO::PARAM_INT);
$stmt->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
$stmt->execute();
$result = $stmt->fetchAll();
foreach($result as $row) {
header("Content-type: text/x-json");
echo json_encode($row);
}
exit();
}
我在这里找到了一些关于 SO 的建议,但没有一个真正解决这个问题。我想要的只是让选择框反映来自数据库的 answ9 值。当我使用文本框时,我执行ajax 的方式对我有用。但是选择框是另一回事。任何帮助表示赞赏。谢谢。
【问题讨论】:
-
你想点击标有
$('fetch')的什么? -
$('fetch')这是一个标签吗?如果是ID,则可能需要添加#,如果是类,则需要添加. -
您到底想做什么?因为首先您正在处理单击某个不存在的标记名称的事件,并且您正在从某个名称字段以 ajax 传递数据并处理 php 文件中的数据,然后在您尝试对不存在的字段执行操作之后表单元素。例如您选择了 id answer9 的下拉菜单,并且在 javascript 代码中您正在处理 answer1。并让我知道您在 ajax 响应中得到的结果。
-
#namesid 在哪里?就代码示例而言,这似乎非常不完整。 -
@roullie - 谢谢。我修复了 $('#fetch')