尝试使用Javascript查找文本并将其链接到页面-也可能使用XML
我一直在编写这本安装指南,它允许用户选择他们的汽车,并获得扬声器的尺寸和位置。我已经这样做了,但我没有做的是能够制作,比如说,“6.5”扬声器链接到显示所述扬声器的页面。 我想直接在它搜索的XML文件中实现这一点,或者使用一个脚本查找“6x9”并将其链接到6x9页面。我尝试使用Xlink,但它无法解析并使我的脚本停止运行 以下是我的XML的一个片段:尝试使用Javascript查找文本并将其链接到页面-也可能使用XML,javascript,jquery,xml,Javascript,Jquery,Xml,我一直在编写这本安装指南,它允许用户选择他们的汽车,并获得扬声器的尺寸和位置。我已经这样做了,但我没有做的是能够制作,比如说,“6.5”扬声器链接到显示所述扬声器的页面。 我想直接在它搜索的XML文件中实现这一点,或者使用一个脚本查找“6x9”并将其链接到6x9页面。我尝试使用Xlink,但它无法解析并使我的脚本停止运行 以下是我的XML的一个片段: <?xml version="1.0"?> <ROWSET> <ROW> <MAKE>ACU
<?xml version="1.0"?>
<ROWSET>
<ROW>
<MAKE>ACURA</MAKE>
<Model>CL</Model>
<YEAR>2001-
2003</YEAR>
<Front_Location_1>Door</Front_Location_1>
<Front_Size_1>6 1/2</Front_Size_1>
<Front_Location_2>Sail Panel</Front_Location_2>
<Front_Size_2>1 </Front_Size_2>
<Rear_Location_1>Deck</Rear_Location_1>
<Rear_Size_1>6 x 9</Rear_Size_1>
<Rear_Location_2></Rear_Location_2>
<Rear_Size_2></Rear_Size_2>
<Other_Speakers></Other_Speakers>
</ROW>
阿库拉
氯
2001-
2003
门
6 1/2
帆板
1.
甲板
6 x 9
这是我用来搜索和显示大小的脚本:
jQuery(document).ready(function($){
var $xml;
var make = $('#make');
var model = $('#model');
var year = $('#year');
var front1 = $('#Front_Location_1');
var frontsize1 = $('#Front_Size_1');
$.get('/content/fitguide3.xml', function(data){
$xml = $(data);
var rows = $(data).find('ROWSET ROW');
var makes = [];
$.each(rows, function(index, element){
var _make = $(element).find('MAKE').text();
makes.push('<option value="' + _make + '">' + _make + '</option>');
});
makes = $.unique(makes);
make.append(makes.join('\n'));
}, 'xml');
$('#make').on('change', function(){
var _value1 = $(this).val();
var _models = $xml.find('ROWSET ROW:contains("'+_value1+'")');
var models = [];
console.log(_models);
$.each(_models, function(index, element){
var _model = $(element).find('Model').text();
models.push('<option value="' + _model + '">' + _model + '</option>');
});
models = $.unique(models);
model.find('option').remove();
model.append(models.join('\n'));
});
$('#model').on('change', function(){
var _value2 = $(this).val();
var _years = $xml.find('ROWSET ROW:contains("'+_value2+'")');
var years = [];
console.log(_years);
$.each(_years, function(index, element){
var _year = $(element).find('YEAR').text();
years.push('<option value="' + _year + '">' + _year + '</option>');
});
years = $.unique(years);
year.find('option').remove();
year.append(years.join('\n'));
});
// $('#make').val()
// $('#model').val()
// $('#year').val()
$('#year').on('click', function(){
var _value3 = $(this).val();
var finalmodel = $('#model').val();
var finalfilter = $xml.find('ROWSET ROW:contains("'+finalmodel+'")');
var _front1 = finalfilter.filter('ROWSET ROW:contains("'+_value3+'")');
console.log(_front1);
$.each(_front1, function(index, element){
var _front = $('#frontspeakers').val();
var front = [];
front.push('<p>' + element + '</p>');
front = $.unique(front);
front1.html(element);
});
})
});
jQuery(文档).ready(函数($){
var$xml;
var make=$(“#make”);
var model=$(“\35;模型”);
风险值年=$('年');
var front1=$(“#Front_Location_1”);
变量frontsize1=$('Front#u Size_1');
$.get('/content/fitguide3.xml',函数(数据){
$xml=$(数据);
变量行=$(数据).find('rowsetrow');
风险价值=[];
$.each(行、函数(索引、元素){
var_make=$(元素).find('make').text();
make.push(“”+_make+“”);
});
makes=$.unique(makes);
make.append(make.join('\n'));
}“xml”);
$('#make')。关于('change',function()){
var_value1=$(this.val();
var _models=$xml.find('ROWSET ROW:contains(“+_value1+”));
var模型=[];
console.log(_模型);
$。每个(_模型、函数(索引、元素){
var_model=$(元素).find('model').text();
模型。推送(“”+_模型+“”);
});
模型=$.unique(模型);
model.find('option').remove();
model.append(models.join('\n'));
});
$('#model')。关于('change',function()){
var_value2=$(this.val();
var _years=$xml.find('ROWSET ROW:contains(“+_value2+”));
风险值年数=[];
控制台日志(_年);
$。每个(_年,功能(索引,元素){
var_year=$(元素).find('year').text();
年。推送(“+”年+”;
});
年份=$.unique(年份);
year.find('option').remove();
year.append(years.join('\n'));
});
//$('#make').val()
//$('#model').val()
//$('年').val()
$('#year')。在('click',function(){
var_value3=$(this.val();
var finalmodel=$('#model').val();
var finalfilter=$xml.find('ROWSET ROW:contains(“+finalmodel+”));
var_front1=finalfilter.filter('ROWSET ROW:contains(“+_value3+”));
控制台日志(_front1);
$。每个(_front1,函数(索引,元素){
var_front=$('#frontspeakers').val();
var front=[];
向前推(“”+元素+””);
前端=$.unique(前端);
html(元素);
});
})
});
我如何尝试使用Xlink:
<?xml version="1.0"?>
<ROWSET xmlns:xlink="http://www.w3.org/1999/xlink">
<ROW>
<MAKE>ACURA</MAKE>
<Model>CL</Model>
<YEAR>2001-
2003</YEAR>
<Front_Location_1>Door</Front_Location_1>
<Front_Size_1><65 xlink:type="simple" xlink:href="http://creativeaudio.net/6-5-speakers-1/">6 1/2</65></Front_Size_1>
阿库拉
氯
2001-
2003
门
6 1/2
欢迎并感谢任何解决方案!关于将XML传递到
$的内容。html()
似乎使
中的链接呈现,但不起作用
将第84行从front1.html(element);
更新为front1.html($(element.html());
,您应该会发现该链接可以工作
顺便说一句,make/model/year的选择有点错误。如果你在几年左右更改了模型,那么似乎无法正确地更新自己
e、 g
这是否可用于在某个实时链接处签出?是的!我尝试在xml中使用a标记,因为它以HTML格式输出,并且显示链接,但由于某些原因无法单击。请尝试Acura TL 2007-2008