我的编程技巧不是很好,我希望有人能指导我。
我正在尝试将预测的搜索功能集成到网站中,我正在使用JQuery插件来执行此操作。我有搜索功能工作(最困难的部分),我只想定义一个条件,如果没有产品,库存显示“找不到匹配”或任何消息。我只是无法让条件工作,我遇到了语法问题,因为我甚至可以得到基本的if else结构。
感谢您的时间。
$().ready(function()
{
$("#name").hide();
if ($("#course").autocomplete("get_course_list2.php", {
width: 260,
}));
$("#course").result(function(event, data, formatted) {
$("#name").hide();
$("#course_val").val(data[1]);
result = "<strong> Product ID: </strong>" + data[1] + "<strong> Product Name: </strong>" + data[0]+ "<strong> </strong>";
result += "<a href=\"http://restoftheurl?id="+data[1]+"\">Click Here to view the product</a>";
$("#name").html(result);
});
});
答案 0 :(得分:0)
如果data
保留后端的响应,那么如果没有找到产品,您可以在data
变量中设置一个标记;例如&#34; NODATA&#34 ;.然后在显示产品之前测试data
值。
但更好的方法是使用JSON进行通信,因此您可以轻松地操作结果。
<强>更新强>
行。让我们通过简单的步骤来解决这个问题。你正在使用你不完全理解的jQuery插件。这个片段做了两件事,首先它请求你的后端(服务器上的get_course_list2.php)来获取数据,然后将它插入到DOM中。来自后端的数据存储在变量数据中(因为您选择此名称来描述回调的第二个参数)。
这是我所谈论的伪代码(以及它将如何运作):
BACKEND,get_something.php
$products = get_products_from_db();
if(count($products) > 0) {
// lets print one products after a noter
for(int i = 0; i < count($products); i++) {
echo "<span>".$products[i]."</span>"
}
} else {
// nope, there is no products so lets tell frontend that there is nothing to display
echo "NODATA";
}
FRONTEND,display_something.js
function(event, data, formatted) {
if(data == "NODATA") {
$(somewhereindom).html("No products");
} else {
$(somewhereindom).html(data); // data = "<span>Product 1</span><span>Prod 2</span>..."
}
}