Javascript Jquery下拉列表和输入表单功能不太正常

Javascript Jquery下拉列表和输入表单功能不太正常,javascript,php,jquery,Javascript,Php,Jquery,我有一段很棒的代码,我正试图将其放入数据填充的表单中,但我仍在努力使其工作,我可以看到函数本身正在工作,但仍有一些错误,我无法解决。当我让它正常工作时,它是在回显内部代码,我似乎也无法从sql中填充数据。它看起来很不错,但我敢肯定它只少了一件东西 有人能看出哪里出了问题吗 <? include 'conn.php'; ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Typ

我有一段很棒的代码,我正试图将其放入数据填充的表单中,但我仍在努力使其工作,我可以看到函数本身正在工作,但仍有一些错误,我无法解决。当我让它正常工作时,它是在回显内部代码,我似乎也无法从sql中填充数据。它看起来很不错,但我敢肯定它只少了一件东西

有人能看出哪里出了问题吗

 <?
include 'conn.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-1.12.3.js"></script>
<script type="text/javascript">
$( document ).ready(function() {

  $.get( "myfunctions/get_records_for_select.php", function( data ) {
    //Look we will change the HTML content for our select-box on success
    $( "#myselectbox" ).html( data );
  });

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

    $.post( "myfunctions/get_records_by_id.php", { selectedId: $(this).val() })
    .done(function( data ) {
      $( "#myinputbox" ).val( data );
    });
 });
});
</script>
</head>

<body>
<select id="myselectbox">
    <option>Select</option>
</select>
<input type="text" id="myinputbox">
</body>
</html>




<?
// your get_records_for_select.php file

include '../conn.php';

$yourSql = "SELECT * FROM `intrusion`";
$results = run_sql($yourSql);
$html = "<option></option>";
foreach($results as $record){
$html .= "<option value=" . $record['SAPCode'] . "></option>";
}

echo $html;exit;
?>



<?

include '.../conn.php';

// your get_records_by_id.php file
$post_data = $_POST['SAPCode'];
$yourSql = "select * FROM intrusion WHERE id=".$post_data;
$results = run_sql($yourSql);
$row = $results->row();
echo $row['SAPCode'];exit;
?>
//使用sql填充的数据更新index.php表单,该表单正在运行,但仍然//没有更改函数ID ; 回响 而$row=mysql\u fetch\u array$q { echo.$row['SAPCode']。; } 回响 ?>

试着写-

`<select id="myselectbox" onchange="FunctionName()">
    <option>Select</option>
</select>
function FunctionName(){
$.post( "myfunctions/get_records_by_id.php", { selectedId: $(this).val() })
    .done(function( data ) {
      $( "#myinputbox" ).val( data );
    });
}`

您正在准备添加更改事件,但正在从ajax加载数据,因此它无法获取select的当前内容。

您想做什么,问题是什么?我尝试使用一个sql填充的下拉列表,onchange通过jquery从sql中提取数据并将其放入输入表单,然后我开始下一阶段将数据发布到PDF以完成任务。问题是,选择表单在此阶段似乎不起作用,无法填充,因此不会触发jquery的onchange函数。当您在post请求中传递selectedId时,get_records_by_id.php中的“SAPCode”的用途是什么。。还有,控制台对这个ajax请求的响应是什么?SAPCode只是一个SQL字段,所以当选择下拉式SQL填充字段时,该项的相关数据将以表单的形式出现。这就是我要说的。。您正在传递$.post中的selectedId,并在post数据中查找密钥SAPCode。。这将导致一个未定义的索引。我尝试了你的建议,但仍然没有改变,我仍然没有在下拉列表中得到一个列表。接下来我将看看这个问题,如果我能得到一个列表,那么jq函数就可以工作了。工作进度…在我的第一篇文章中,我用我一直在使用的一些其他代码更新了下拉列表,这些代码将用sql数据填充下拉列表,但仍然无法激活Jq函数。你是说函数在onchange上没有被调用?是的,我从下拉列表中选择一个由SQL数据填充的项,函数ID不会发生任何变化。