所有被編輯自動填充下拉數據
嗨,
我怎麼能自動從數據庫中通過下拉列表填充數據選擇?和我的下拉結果已經出現爲好,代碼如下:
<?php
echo '<tr>
<td>'.$customer_data.'</td>
<td><select name="customer_id" id="customer_id" onchange="getCustomer();">';
foreach ($customers as $customer) {
if ($customer['customer_id'] == $customer_id) {
echo '<option value="'.$customer['customer_id'].'" selected="selected">'.$customer['name'].'</option>';
} else {
echo '<option value="'.$customer['customer_id'].'">'.$customer['name'].'</option>';
}
}
echo '</select>
</td>
</tr>';
?>
具有HTML視圖代碼
<select name="customer_id" id="customer_id" onchange="getCustomer();">
<option value="8">admin</option>
<option value="6">customer1</option>
<option value="7" selected="selected">FREE</option>
</select>
現在如果選擇下拉菜單中的一個,我想另一個例如<?php echo $firstname; ?>, <?php echo $lastname; ?>
出現在
<tr>
<td><div id="show"></div></td>
</tr>
,基於客戶的ID /名稱選擇
這樣做,我嘗試使用JSON調用如下:
<script type="text/javascript"><!--
function getCustomer() {
$('#show input').remove();
$.ajax({
url: 'index.php?p=customer/customers&customer_id=' + $('#customer_id').attr('value'),
dataType: 'json',
success: function(data) {
for (i = 0; i < data.length; i++) {
$('#show').append('<input type="text" name="customer_id" value="' + data[i]['customer_id'] + '" /><input type="text" name="firstname" value="' + data[i]['firstname'] + '" />');
}
}
});
}
getCustomer();
//--></script>
php的通話JSON放置在url.php處用url index.php?p = page/customer)
public function customers() {
$this->load->model('account/customer');
if (isset($this->request->get['customer_id'])) {
$customer_id = $this->request->get['customer_id'];
} else {
$customer_id = 0;
}
$customer_data = array();
$results = $this->account_customer->getCustomer($customer_id);
foreach ($results as $result) {
$customer_data[] = array(
'customer_id' => $result['customer_id'],
'name' => $result['name'],
'firstname' => $result['firstname'],
'lastname' => $result['lastname']
);
}
$this->load->library('json');
$this->response->setOutput(Json::encode($customer_data));
}
和DB
public function getCustomer($customer_id) {
$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "customer WHERE customer_id = '" . (int)$customer_id . "'");
return $query->row;
}
,但我得到了錯誤的返回如下
有有人請如何解決它更多更好?在此先感謝
感謝您的建議非常感謝,是的,我想通過選擇組合框自動填充文本字段(名字,姓氏),數據從數據加載,我知道如何加載數據,你看起來似乎它似乎需要javascript/ajax/jquery來處理它,但可以請讓我知道如何修復它,請嗎? – omc11 2011-05-04 10:13:42
您的意思是如何設置文本框中的值,具體取決於您的下拉框中選擇了哪個選項? – 2011-05-04 16:00:42
是的,沒錯,我完全編輯了我以前的代碼,請看看,我希望足夠描述我想要的內容,請讓我知道有什麼問題或者有更好的解決方案嗎?謝謝 – omc11 2011-05-05 08:43:58