0

我正在尝试将 PDFObject用于我的小册子,我想要用户选择车辆并下载她/他选择的特定车辆。这是我的代码:

<form method="get" action="">

  <div class="form-group"><h5>Model</h5></div>

  <div id="select-vehicle" class="form-group">
    <select class="form-control">
      <option selected disabled> Select Vehicles</option>
    </select>
  </div>

  <div class="form-group">
    <button type="submit" value="submit" id="submit" disabled class="btn btn-default">DOWNLOAD</button>
  </div>

</form>

这是我的工作javascript:

var workers = ["86", "Altis", "Avanza", "Altis", "Camry", "Fortuner", "FJ Cruiser"
            , "Hiace", "Hilux", "Innova", "LandCruiser", "Prado", "Previa", "PriusC"
            , "Rav4", "Vios", "Yaris"];
        for(var i=0; i< workers.length;i++)
        {
        //creates option tag
          jQuery('<option/>', {
                value: workers[i],
                html: '2017' + ' ' + workers[i] + ' ' + '&#174;'
                }).appendTo('#select-vehicle select'); //appends to select if parent div has id dropdown
        }
          $('button').click(function(event) {
            var value = $( "select" ).val();
            $('form').attr('action', '../../vehicles/' + value +'/');
          });

        $('select').change(function(){
          if ($(this).val())
          {
            $("button").removeAttr('disabled');
          }
        });

我想将此传递$('form').attr('action', '../../vehicles/' + value +'/');给 PDFObject,以便它查找正确的文件名来下载文件。

4

1 回答 1

1

下载 PDF

PDFObject用于在您的页面中嵌入 pdf。要下载 pdf,您可以转到该 pdf,但您需要 pdf 文件名。您没有显示 pdf 文件的名称,因此这里有一个示例,如果文件名与选择的值相同...

$('button').click(function(e) {
    e.preventDefault();
    var value = $('select').val();
    window.open('../../vehicles/' + value + '/' + value + '.pdf','_blank');
});

嵌入 PDF

如果您想将该 pdf 嵌入页面中PDFObject(您不需要form此选项,只需select),首先在您的 html 中创建一个容器来保存该 pdf...

<div id="vehiclepdf"></div>

PDFObject...以及单击按钮时的调用...

$('button').click(function(e) {
    e.preventDefault();
    var value = $('select').val();
    PDFObject.embed('../../vehicles/' + value + '/' + value + '.pdf',"#vehiclepdf");
});
于 2017-10-17T06:09:43.600 回答