从JavaScript中的文本URL返回可点击的URL

Return clickable URL from text URL in JavaScript

本文关键字:URL 返回 文本 JavaScript      更新时间:2024-01-04

我正在处理一个级联下拉列表。选择最后一个项目时,它会根据以前的所有选择从.cs列表中提取信息。这很有效。但是,我希望显示的结果包括一个可点击的链接以及其他信息。现在我正在使用document.write打开一个带有链接的新窗口。这并不理想。

    function formatHyper(hyper) {
    var NewWindow = window.open('', 'name', 'height=660,width=650,status=1');
    var str = "Parts";
    NewWindow.document.write(str.link(hyper));
}

Hyper是文本链接。从外部.cs文件调用,该文件如下所示:

public class PhonePrice
{
private static List<Phone> Phones = new List<Phone>{
    new Phone{Make="Apple",Model="iPhone    4",Carrier="ATT",Colour="black",Price=00.00f,Hyper="http://www.google.com"},

当我完成最后一个下拉选择时,它会显示有关我的选择的信息,但它会打开一个只包含链接的新窗口。如果我删除NewWindow变量,它将只加载当前页面中的链接,从而使其位于我看不到任何其他返回数据的位置。

我希望它能像货币一样运作。但是,与其添加$,我希望它将文本转换为URL

    function formatPrice(price) {
    return "$" + price.toFixed(2);
}

以下是当它在新窗口中打开可点击链接时的样子。我希望可点击的链接出现在它说未定义的地方。

苹果iPhone 4
承运人ATT
颜色:黑色
Hyper:未定义
价格:$00.00

请帮忙!!

以下是完整代码的链接

CascadingDropDowns.chtml文件的第23行。更改:

<p>Hyper: ${formatHyper(Hyper)}</p>

至:

<p>Hyper: <a id="link">${formathyper(hyper)}</a></p>

如果只有一个链接,那么这将起作用。如果可能有多个,那么您需要使每个ID与超值匹配(假设它是唯一的)。

我无法用你的代码对此进行测试,但它应该可以工作。和功能从第一个答案:

<script type="text/javascript"> 
var texttheysee = 'My Link'; 
$(function formathyper(hyper) { 
    $('a#link').attr('href', hyper); 
    $('a#link').text(texttheysee); 
}); 
</script>