<select id="countryselect" name="country>
<option value="US">United States</option>
.
.
</select>
<select id="cityselect" name="city"></select>
这是html代码和
$.cityselect = function(){
var td= $('#countryselect').val();
$.ajax({
type: "POST",
url: "action.php",
data: {'countrytd':td},
success: function(e){
$('#cityselect').html(e);
},
});
};
这是我的链式选择功能。在action.php中创建选项的Mysql进程。
这是事情,当我使用这个功能时,结果就是
<select id="cityselect" name="city">
<option value></option> // empty value
<option value="1">New York</option>
<option value="2">Broadway</option>
</select>
我不想要空值,因为我需要那些信息。我写到任何地方都没有空值。 php文件没有问题因为我改变了这个
$('#cityselect').html(e);
到这个
$('#cityselect').html('<option value="1">name</option>');
无论如何它都会将空白值添加到顶部。
如何禁用该过程或如何在操作后删除空白值。
此外,当我使用来自成功的'e'时,它包含元标记和一些其他头元素,我在action.php中使用它来设置语言字符集。我该如何清理这些?
答案 0 :(得分:0)
正如@roasted所说,如果没有代码,很难完全解决这个问题,但这应该至少解决部分问题:
首先,注意:从jQuery 1.8开始,不推荐使用success
回调方法:
从jQuery 1.8开始,不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调。要准备最终删除的代码,请改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。
以下是您的部分问题的解决方案。它可能不是所有这些的解决方案,因为如果从SQL查询中获取空值,则查询,数据库或两者都可能存在问题。但是,这将为您的问题的前端部分提供“解决方案” - &gt; (这是基于您的php文件为您的<option>
元素构建相关<select>
元素的假设:
$.cityselect = function(){
var td= $('#countryselect').val();
$.ajax({
type: "POST",
url: "action.php",
data: {'countrytd':td},
}).done(function(data){
// better not to use 'e' for this variable (can be confusing)
if($(data).html().replace(/\s/g,'').length){
//There are a number of ways to check this
//(depends on what you are expecting).
// The example I used will also catch blank spaces
$('#cityselect').html(data);
}
})
};