编写从 XML 文件返回数据的搜索字段脚本
Writing a search field script that returns data from an XML file
我正在尝试编写一个循环遍历 xml 文件的脚本。 使用下面提供的代码, 它返回警报,但在搜索字段中输入正确的值时不显示信息。但是,当我删除错误检查并保留最后一个 if 语句时,它会运行并显示在表单中输入的正确值。
function searchAStylist() {
var StylistListXML = loadXML("StylistList.xml");
var StylistListXML_root = StylistListXML.documentElement;
var stylistInfo_array = StylistListXML_root.getElementsByTagName('stylistInfo');
storedResults = new Array;
var stlyist_ul = document.getElementById("stylist");
var search_field_div_test = " ?=(?:.*?[A-Za-z]){2}";
var search_field_div = document.getElementById("search_field").value.toLowerCase().split(/[ ,]+/).join(' ');
//console.debug(parseName + " test");
for (var i = 0 ; i < stylistInfo_array.length; i++) {
var nameElement = stylistInfo_array[i].getElementsByTagName('Name')[0];
var li_element = document.createElement('li');
var h2_element = document.createElement('h2');
var h4_element = document.createElement('h4');
var h42_element = document.createElement('h5');
var name_text = nameElement.firstChild.nodeValue.replace(/,/g, ' ');
var parseName = $.trim(name_text).replace(/,/g, ' ');
var firstName = parseName.split(' ').slice(-1).join(' ');
var lastName = parseName.split(' ').slice(0, -1).join(' ');
var fullName = firstName + " " + lastName;
h2_element.appendChild(document.createTextNode(fullName));
li_element.appendChild(h2_element);
h4_element.appendChild(document.createTextNode(combinedPostalCode.toUpperCase()));
li_element.appendChild(h4_element);
h42_element.appendChild(document.createTextNode(country_text.toUpperCase()));
li_element.appendChild(h42_element);
if (search_field_div == null || search_field_div == '') {
alert("Please enter a Stylist name(First/Last or Full name), or Postal Code or City");
return false;
}else if(!(fullName.toLowerCase().indexOf(search_field_div) != -1)){
alert("No Stylist found with that criteria");
break;
}
if (fullName.toLowerCase().indexOf(search_field_div) != -1) {
console.debug(parseName);
stlyist_ul.appendChild(li_element);
}
}//END OF FOR LOOP
}//END OF FUNCTION
这里的这个 break 语句会导致循环在遇到第一个不匹配的记录时立即中断,这在大多数情况下可能是第一次迭代
else if(!(fullName.toLowerCase().indexOf(search_field_div) != -1)){
alert("No Stylist found with that criteria");
break;
}
若要跳过当前迭代并移动到下一个迭代,请使用continue
语句
相关文章:
- 引导工具提示用法,在搜索字段中
- JavaScript动态附加到搜索字段
- 当搜索字段为空时,取消所有ajax请求
- jQuery .focus() 在 Safari(桌面)的搜索字段中不起作用
- CasperJS无法填充谷歌搜索字段
- 如何使用 Jquery 向搜索字段添加“标签”
- 在表单中搜索字段,然后对所有选定的结果执行某些操作
- 修复融合表映射中不起作用的搜索字段和表
- 如何通过自动填充html列表为用户制作搜索字段
- 编写从 XML 文件返回数据的搜索字段脚本
- 如果搜索字段为空,则不要搜索(Wordpress)
- 将结果添加到自动建议的搜索字段
- 使用 AngularJS 中的搜索字段进行过滤
- 点击显示按钮并在关闭时隐藏搜索字段时出现问题
- 是否可以通过搜索字段使用“switch_user”
- 搜索字段,清除焦点上的默认文本-FF 3.6
- 搜索字段文本没有't在FF 3.6中显示
- 在Sencha touch中的搜索字段上设置列表值
- 堆栈溢出背后的算法是什么? ajax标记搜索字段
- 搜索字段sapui5显示json中的数据