【问题标题】:using backward slashes it takes entire path使用反斜杠它需要整个路径
【发布时间】:2017-08-17 23:54:03
【问题描述】:
  • 我正在尝试传递文件路径并在我的网格中单独获取文件名。
  • 现在它适用于正斜杠,但不适用于反斜杠。
  • 当我使用反斜杠给出整个路径时,它会占用整个路径
  • 你们能告诉我如何解决它吗?
  • 在下面提供我的代码

工作场景测试/player.txt 不工作场景 test\player.txt

http://jsfiddle.net/besnpj54/8/

        template: "<a onclick=\"window.open('#= FileName#', 'popup', 'width=800,height=600,scrollbars=yes,resizable=no')\">#= FileName.substring(FileName.lastIndexOf('/')+1) #</a>"

【问题讨论】:

  • 我认为你想使用反引号作为 es7 的一部分来转义字符串模板。

标签: javascript jquery html angularjs kendo-ui


【解决方案1】:

一种解决方案是将所有\ 替换为/,然后再将其添加到网格中。就像这样:

$("#save").click(function(){
      grid.dataSource.add({"FileName":$("#fname").val().replace(/\\/g,"/"),"LastName":"Last Name"});
      $("#fname").val('');
});

http://jsfiddle.net/besnpj54/11/

请注意\ 用于转义特殊字符(就像您使用\" 所做的那样),因此要获得\,您实际上必须输入\\。有关详细信息,请查看此页面上的 特殊字符 块:https://www.w3schools.com/js/js_strings.asp

【讨论】:

  • 嘿它的工作,但你能告诉我你是如何修复它的......这样我就可以学习
  • 您的代码在使用 / 时可以正常工作,但在使用 \ 时不能正常工作,因此此时您有不同的方法来修复它。您可以改进添加文件名以检测 / 或 \ 的功能(在您的 jsfiddle 的第 33 行中)。或者像我一样,您可以在调用函数 kendoGrid() 之前将 \ 替换为 /。诀窍在这里完成: $("#fname").val().replace(/\\/g,"/")
  • 你能帮我解决这个问题吗stackoverflow.com/questions/45269041/…
猜你喜欢
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 2013-11-12
  • 2012-08-30
  • 2013-07-23
  • 1970-01-01
  • 2018-02-23
  • 2012-05-15
相关资源
最近更新 更多