我有一个下拉框,其管道尺寸在应用程序启动时填充。
我想在另一个下拉框中选择管道类型时动态更改。我已经设法制作ajax功能,其中根据选择的管道绘制所有尺寸的html表。所以我只想在同一个文件中嵌入这个功能。
下面的代码会创建一个带尺寸的新下拉框。但我已经有一个(id =维度)。
如何填充现有的而不是创建新的?
echo "<select id='dimensions'>";
while ($row = mysql_fetch_array($result2)) {
echo "<option value='" . $row['nominalsize'] ."'>" .
$row['nominalsize'] ."</option>";
}
echo "</select>";
答案 0 :(得分:0)
如何填充现有的而不是创建新的?
这很快,但应该这样做:在发送AJAX请求之前,从DOM中删除现有的<select id='dimensions'>
。然后你可以在以后安全地插入它。
为了缩短时间,您也可以在插入之前将其删除。所以当时你得到了AJAX响应。
答案 1 :(得分:0)
如果您有一个数据库表,其中包含您自己的网页使用中定义的大小值:
<?php
// Assume that $nominalsize already exists with real value
$sql = "SELECT * FROM table WHERE nominalsize='$nominalsize'";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) > 0)
{
// There is already a row with the specified $nominalsize
}
else
{
// Not exist, then ... INSERT
}
如果没有,你喜欢来自其他页面的反向信息,你需要CURL或DOM, 和提取标签。
答案 2 :(得分:0)
在页面加载后填充控件需要一些技巧,比如AJAX:
这是一个基本的工作流程:
实施例
Options.php
<?php
// http://localhost/options.php
// /var/www/options.php
$options = array(
1 => 'Cat',
2 => 'Dog'
);
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
return json_enconde($options);
的script.js
// script.js in your page
$(document).ready(function(){
var $select = $('#id-select);
$.ajax({
url: '/options.php',
dataType: 'json',
success: function(data) {
$.each(data, function(i, e) {
$select.append($('<option value=' + i + '>' + e + '</option>'));
});
}
});
});
以前只是样本,但你可以想出一个想法