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
キャリア ATT
カラー: ブラック
ハイパー: 未定義
価格: $00.00

助けてください!!

ここに完全なコードへのリンクがあります

4

1 に答える 1

0

CascadingDropDowns.cshtml ファイルの 23 行目。変化する:

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

に:

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

リンクが 1 つしかない場合、これは機能します。複数存在する可能性がある場合は、各 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 に答える