问问题
204 次
2 回答
0
这个问题是模糊的和令人费解的。让我们根据给定的内容做出几个假设。
jquery appends me a select after loading the option list of categories
假设你正在做这样的事情:
$.ajax({...
success: function (data) {
(make a select box)
}
})
和那个My php script returns the option list OR false
。
我现在的问题是,为什么 JavaScript 不只检查data
计算结果是否为真?
$.ajax({...
success: function (data) {
if (data) { // if data contains anything besides false
(make a select box)
} else {
(don't make a select box)
}
}
})
编辑
错误,处理一个空的下拉框。
if($lWert3 !== '') {
$zuordnung3 = $('<select id="catLev4" name="lev4" class="levelSelect"></select>').appendTo('#categories');
$zuordnung3.load('rem/remoteSearchLevelCat.php', {cat:$lWert3, lang:$lang}, function () {
if ($zuordnung3.find('option').length <= 0) {
$zuordnung3.remove();
}
});
}
于 2013-08-19T17:15:32.537 回答
0
没有任何例子很难理解你的问题,但是
如果在数据库中未找到第 4 级类别,我的 php 脚本将返回选项列表或 false。
也许我误解了,但是您应该检查 php 返回的数据是否包含“选项”字符串。(我假设,它返回一些东西或错误)。下面是一些使用 jQuery 的 .get-method 的例子:
$.get('/url/to/the/php', function(leveldata) {
if (leveldata.indexOf('option') > -1) {
// append to the fourth select
}
});
编辑:
好的,您使用 jquery 的加载方法。尝试在创建选择元素之前获取数据,或者如果内容为空,则删除选择。
尝试这个
...
$zuordnung3 = $('<select id="catLev4" name="lev4" class="levelSelect"></select>').appendTo('#categories');
$zuordnung3.load('rem/remoteSearchLevelCat.php', {cat:$lWert3, lang:$lang});
if ($('#catLev4 option').size == 0) {
$('#catLev4').remove();
}
或这个
$zuordnung3.load('rem/remoteSearchLevelCat.php', {cat:$lWert3, lang:$lang}, function(responseText, textStatus, XMLHttpReques) {
if(responseText.length == 0) {
$('#catLev4').remove();
}
});
于 2013-08-19T17:15:47.160 回答