我可能把这件事变得比需要的更复杂了,希望你们能帮助我理清头绪。
在我的数据库中,我有一个带有枚举字段的表,其中包含的大多数值都包含空格。目前,我正在尝试使用组合选择,这样每当有人在选择一个(包含枚举的所有值,由 php 从数据库中获取)中选择某些内容时,选择两个下拉列表将填充与什么相关的值在select one中被选中。
这是我用来获取选择一个值以填充选择两个的脚本:
$(function() {
$("#semester").change(function() {
$("#course").load("tester.php?semester=" + $("#semester").val());
});
});
我用来获取枚举的脚本:
$optionresult = mysql_result(mysql_query('SELECT column_type FROM information_schema.columns
WHERE table_name = "item" AND column_name = "'.$columnname.'"'),0);
$values = explode("','",substr($optionresult,6,-2));
for($i = 0; $i < count($values); $i++) {
echo '<option value="'.$values[$i].'">'.$values[$i].'</option>';
像 Long-term 和 Spring2012 这样的东西会被通过和发布,而像 Spring 2012 这样的东西不会。
有没有一种方法可以解决这个问题,而不必手动输入每个选项值,删除选项值中的空格,然后在我查询时将其添加回去?
最佳答案
尝试
$("#course").load("tester.php?semester=" +
encodeURIComponent($("#semester").val()));
encodeURIComponent
将负责对查询字符串中的空格进行编码。它会将“第一学期”更改为“第一%20学期”。
服务器会自动解码——`$_GET["semester"] 将是“First Semester”;
关于php - 尝试传递包含空格的选项值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974482/