Php 通过下拉Jquery填充文本输入
我从MYSQL数据库中提取数据以填充下拉列表Php 通过下拉Jquery填充文本输入,php,jquery,mysql,Php,Jquery,Mysql,我从MYSQL数据库中提取数据以填充下拉列表 <td class="<?php print $Bank_ca_error;?>">Bank Name</td> <td> <select name="Bank" id="Bank" tabindex=24 style="color: <?php print $TextColour;?>"/> <option><?php print $_SESSION['Ban
<td class="<?php print $Bank_ca_error;?>">Bank Name</td> <td> <select name="Bank" id="Bank" tabindex=24 style="color: <?php print $TextColour;?>"/> <option><?php print $_SESSION['Bank_ca'] ;?></option> <?php //Get Data to populate drop down $BankQuery = "SELECT BankName FROM tblbank ORDER BY BankName"; $BankResult = mysql_query ($BankQuery); While($nt=mysql_fetch_array($BankResult)) { print"<option $nt[BankName]>$nt[BankName]</option>"; } ?> </select> </td>
我想根据选择的值填充文本输入。因此,基本上从列表中选择银行,让它在文本输入中自动填充通用分行代码
我看到了一个使用Jquery的例子,但说到这一点,我完全是个傻瓜,我无法让它正常工作
我在标题部分添加了以下内容
<script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#Bank').live('change', function(event) { $.ajax({ url : 'getData.php', type : 'POST', dataType: 'json', data : $('#myform').serialize(), success: function( data ) { for(var id in data) { $(id).val( data[id] ); } } }); }); }); </script>
然后我将其添加到getData.php文件中
<?php include "../../../includes/dbinfo.inc"; //Connect to database mysql_connect($db_host, $db_username, $db_password); @mysql_select_db($db_database) or die("Unable to select database"); $BankName = $_POST['Bank']; // Selected Bank $query = "SELECT * FROM tblbank WHERE BankName ='{$BankName}'"; $result = mysql_query($query); $row = mysql_fetch_array($result) $BranchCode = $row['UniversalCode']; $arr = array( 'input#BranchCode' => $BranchCode ); echo json_encode( $arr ); ?>
并在相关的输入和下拉列表中添加了以下内容
<form id='myform'> </form>
我试图在其他地方使用解决方案,但无法使其发挥作用
非常感谢您的帮助如果我正确理解了您的意图,那么您就不需要ajax,请尝试类似的方法
<?php
include "../../../includes/dbinfo.inc";
//Connect to database
mysql_connect($db_host, $db_username, $db_password); @mysql_select_db($db_database) or die("Unable to select database");
$res = mysql_query("SELECT UniversalCode, BankName FROM tblbank ORDER BY BankName");
while($row = mysql_fetch_assoc($res)) {
// associative array of banks
$banks[$row['UniversalCode']] = $row['BankName'];
}
?>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$('#Bank').change( function() {
// enter in an empty field code of the selected bank
$('#UniversalCode').val( $(this).val() );
});
});
</script>
<td class="<?php print $Bank_ca_error;?>">Bank Name</td>
<td>
<select name="Bank" id="Bank" tabindex=24 style="color: <?php print $TextColour;?>"/>
<? foreach($banks as $code=>$name) { ?>
<option value="<?=$code?>"><?=$name?></option>
<? } ?>
</select>
<input value="" id="UniversalCode">
</td>
@gdoron在标题部分的脚本中非常感谢您的输入。我明白了为什么它不起作用,但我无法找到解决办法。我有一个完整的页面提交申请,但该部分是中间的。因此,getData.php没有通过POST提供值。我现在仍然使用Ajax方法,如何解决这个问题?我想用这个,因为它对其他领域很有用@ShaaDi觉得我们之间有一些误解。。可以通过以下方式解决以下问题: