当表格单元格为空时显示警告框
问题描述:
我试图在<td>
为空时显示警告框。我的代码如下:当表格单元格为空时显示警告框
的Html
<table id="results">
<Full name: <br>
<input id="userInput" type="text" name="fullname">
<br>
<input id="submit" type="submit" value="Submit">
</table>
脚本
var table = $("#results");
// get the sparql variables from the 'head' of the data.
var headerVars = data.head.vars;
// using the vars, make some table headers and add them to the table;
var trHeaders = getTableHeaders(headerVars);
table.append(trHeaders);
// grab the actual results from the data.
var bindings = data.results.bindings;
// for each result, make a table row and add it to the table.
for (rowIdx in bindings) {
table.append(getTableRow(headerVars, bindings[rowIdx]));
}
function getTableRow(headerVars, rowData) {
var tr = $("<tr></tr>");
for (var i in headerVars) {
tr.append(getTableCell(headerVars[i], rowData));
}
return tr;
}
function getTableCell(fieldName, rowData) {
var td = $("<td></td>");
var fieldData = rowData[fieldName];
if ($('td').html().trim() == "") {
alert("td is empty");
}
else {
alert("fieldName = [" + fieldName + "] rowData[fieldName][value] = [" + rowData[fieldName]["value"] + "]");
td.html(fieldData["value"]);
return td;
}
console.log(td);
}
function getTableHeaders(headerVars) {
var trHeaders = $("<tr></tr>");
for (var i in headerVars) {
trHeaders.append($("<th>" + headerVars[i] + "</th>"));
}
return trHeaders;
}
眼下的警告框不会弹出,所以我怎么能显示提示框时<td>
申请是空的?
答
当我们做$("<td></td>")
,jQuery创建一个td元素并返回它,因此您的条件td == 0
将始终为false,因此您看不到警报。
要在html页面上选择一个td,我们需要使用$('td')
,并检查元素是否为空使用.html()
函数的jQuery。
因此类似,
if($('td').html().trim() === ''){
alert('td is empty')
}
希望这有助于。
你的情况试试这个:
function getTableCell(fieldName, rowData) {
var td = $("<td></td>");
var fieldData = rowData[fieldName];
alert("fieldName = [" + fieldName + "] rowData[fieldName][value] = [" + rowData[fieldName]["value"] + "]");
//You need to check id fieldData["value"] is empty and then trigger alert, as if this empty your td will be empty
if (fieldData["value"] && fieldData["value"].trim().length !== 0) {
td.html(fieldData["value"]);
return td;
} else {
alert("td is empty");
}
console.log(td);
}
您的警报是不可到达的语句, –
是return语句后,在回报,你会来的功能了。 –
我已经添加并回答告诉我它是否有帮助,或者您有任何问题。 –