【发布时间】:2017-09-25 15:04:52
【问题描述】:
我想发布美国和佛罗里达等数据,而不是数字(1 和 1)。我尝试将.value 更改为文本,但代码不起作用。
这用于根据国家/地区过滤城市和州,但我必须使用国家和州名称更新数据库,目前我只获取值,有没有办法解决这个问题?
数据库结构
INSERT INTO `case_category` (`id`, `category`) VALUES
(1, 'USA'),
(2, 'China'):
INSERT INTO `case_sub_category` (`id`, `sub_category`, `category_id`) VALUES
(1, 'Florida', 1),
(2, 'Guangdong', 2),
(3, 'Sichuan', 2);
loadData.php
$loadType=$_POST['loadType'];
$loadId=$_POST['loadId'];
if($loadType=="subCat"){
$sql="select id,sub_category from case_sub_category where category_id='".$loadId."' order by sub_category asc";
}else{
$sql="select id,sub_sub_category from case_sub_sub_category where sub_category_id='".$loadId."' order by sub_sub_category asc";
}
$res=mysql_query($sql);
$check=mysql_num_rows($res);
if($check > 0){
$HTML="";
while($row=mysql_fetch_array($res)){
$HTML.="<option value='".$row['id']."'>".$row['1']."</option>";
}
echo $HTML;
}
?>
选择器
<table>
<tr>
<td>
<select name="request_type_c" onchange="selectsubSubCat(this.options[this.selectedIndex].value)">
<option value="-1">Select Category</option>
<?php
while($rowCategory=mysql_fetch_array($resCategory)){
?>
<option value="<?php echo $rowCategory['id']?>"><?php echo $rowCategory['category']?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td>
<select name="request_type_c_sub" id="subCat_dropdown" onchange="selectsubCat(this.options[this.selectedIndex].value)">
<option value="-1">Select Sub Category</option>
</select>
<span id="subCat_loader"></span>
</td>
</tr>
<tr>
<td>
<select name="request_type_c_sub_sub" id="subSubCat_dropdown">
<option value="-1">Select Sub Sub Category</option>
</select>
<span id="subSubCat_loader"></span>
</td>
</tr>
</table>
AJAX
<script type="text/javascript">
function selectsubSubCat(Category_id){
if(Category_id!="-1"){
loadData('subCat',Category_id);
$("#subSubCat_dropdown").html("<option value='-1'>Select Category</option>");
}else{
$("#subCat_dropdown").html("<option value='-1'>Select Sub Category</option>");
$("#subSubCat_dropdown").html("<option value='-1'>Select Sub Sub Category</option>");
}
}
function selectsubCat(subCat_id){
if(subCat_id!="-1"){
loadData('subSubCat',subCat_id);
}else{
$("#subSubCat_dropdown").html("<option value='-1'>Select Sub Sub Category</option>");
}
}
function loadData(loadType,loadId){
var dataString = 'loadType='+ loadType +'&loadId='+ loadId;
$("#"+loadType+"_loader").show();
$("#"+loadType+"_loader").fadeIn(400).html('Please wait... <img src="image/loading.gif" />');
$.ajax({
type: "POST",
url: "loadData.php",
data: dataString,
cache: false,
success: function(result){
$("#"+loadType+"_loader").hide();
$("#"+loadType+"_dropdown").html("<option value='-1'>Select "+loadType+"</option>");
$("#"+loadType+"_dropdown").append(result);
}
});
}
</script>
【问题讨论】:
-
-
绝对有一种方法可以只发布相关的 Js 和影响标记,而不是这堵代码......不是吗?
-
@teeyo 它只发布子类别文本,但子子类别不起作用。
-
@GoldPearl 是的,因为这是另一个选择
<?php while($rowCategory=mysql_fetch_array($resCategory)){ ?> <option value="<?php echo $rowCategory['category']?>"><?php echo $rowCategory['category']?></option> <?php } ?>如果这就是你想要的,我可以用更好的格式给你写一个答案哈哈 -
为什么要使用早已弃用的
mysql_代码库?它在多年前就停产了,并在 PHP7 中完全删除。不应使用此库编写新代码。它使您容易受到 SQL 注入攻击(由于缺乏参数化查询支持)和潜在的其他未修补漏洞。尽快切换到使用mysqli或PDO,然后学习如何编写参数化查询来保护您的数据免受恶意输入。请参阅bobby-tables.com 以获得对风险的简单说明以及一些用于安全编写查询的示例 PHP 代码。
标签: javascript php jquery html ajax