Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用Javascript查找文本并将其链接到页面-也可能使用XML_Javascript_Jquery_Xml - Fatal编程技术网

尝试使用Javascript查找文本并将其链接到页面-也可能使用XML

尝试使用Javascript查找文本并将其链接到页面-也可能使用XML,javascript,jquery,xml,Javascript,Jquery,Xml,我一直在编写这本安装指南,它允许用户选择他们的汽车,并获得扬声器的尺寸和位置。我已经这样做了,但我没有做的是能够制作,比如说,“6.5”扬声器链接到显示所述扬声器的页面。 我想直接在它搜索的XML文件中实现这一点,或者使用一个脚本查找“6x9”并将其链接到6x9页面。我尝试使用Xlink,但它无法解析并使我的脚本停止运行 以下是我的XML的一个片段: <?xml version="1.0"?> <ROWSET> <ROW> <MAKE>ACU

我一直在编写这本安装指南,它允许用户选择他们的汽车,并获得扬声器的尺寸和位置。我已经这样做了,但我没有做的是能够制作,比如说,“6.5”扬声器链接到显示所述扬声器的页面。 我想直接在它搜索的XML文件中实现这一点,或者使用一个脚本查找“6x9”并将其链接到6x9页面。我尝试使用Xlink,但它无法解析并使我的脚本停止运行

以下是我的XML的一个片段:

<?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

  • 选择Acura TL
  • 查看可供选择的年份
  • 将模型更改为图例
  • 将模型更改回TL
  • 查看与步骤2不同的年份列表

  • 这是否可用于在某个实时链接处签出?是的!我尝试在xml中使用a标记,因为它以HTML格式输出,并且显示链接,但由于某些原因无法单击。请尝试Acura TL 2007-2008