0

我正在处理级联下拉列表。当最后一项被选中时,它会根据之前的所有选择从 .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));

}

超是文本链接。从如下所示的外部 .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);
}

这是在新窗口中打开可点击链接时的样子。我希望可点击的链接出现在未定义的位置。

Apple iPhone 4
Carrier ATT
颜色:黑色
Hyper:未定义
价格:00.00 美元

请帮忙!!

这是完整代码的链接

4

1 回答 1

0

CascadingDropDowns.cshtml 文件的第 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> 
于 2012-07-23T17:56:08.387 回答