2011-10-20 4 views
7

はかみそりで私のjQueryのコードです:剃刀の内側にjqueryコードを使用する方法はありますか?ここ

$("#GroupC_grup_name").attr('value', '@foreach (SelectListItem sel in (SelectList)ViewData["Gruplar"]){ @sel.Text }') 
    $("#GroupC_id").attr('value', '@foreach(SelectListItem sel in (SelectList)ViewData["Gruplar"]){ @sel.Value }') 

私は二回ViewData["Gruplar"]のために呼び出したいいけないのように私は、一緒にこれらをマージしたいです。

私はこれを行うことはできますか?

@foreach(SelectListItem sel in (SelectList)ViewData["Gruplar"]){ 
    @:$("#GroupC_grup_name").attr('value', '@sel.Text'); 
    @:$("#GroupC_id").attr('value', '@sel.Value'); 
} 

私は考えることができるすべてを試しましたが、私が望むものを達成できません。

あなたが動作するはず勧めのコードは、以下のコードは、のではなく、文字列配列を使用しています
+0

両方の例の値が不思議に思えるほど、コードが少し混乱します。最初の例では、2つ目の例ではリストからすべての値を要素属性 'value'に出力するだけです。すべての値を一度に1つずつ設定していますが、常に最後に設定された値になります。あなたは何を正確に達成しようとしていますか? – Buildstarted

+0

@BuildStartedこの選択リストには1つのアイテムしか含まれていないので、それは却下されません。トピックを慎重に読んでください。私はいくつかのjqueryコードを ''に入れてもよいかどうかを知りたいと思っています。その上の選択リストは使用法の一例にすぎません。 –

答えて

9

私は慎重にそれを読んで、あなたが何をしたいのか理解しています。しかし、あなたの例は混乱しているものです。 (それは誰でも答えたようです)

<text></text>要素でjQueryをラップすることもできます.2番目の例で行ったことは役に立ちます。ただ1つの価値がある場合は、

<script type='text/javascript'> 
    @{ var x = ((SelectList)ViewData["Gruplar"]).First(); } 
    $("#GroupC_grup_name").attr('value', '@x.Text'); 
    $("#GroupC_id").attr('value', '@x.Value'); 
</script> 

jquery内で剃刀を達成する方法はいくつでもあります。それは基本的にhtmlとの剃刀と同じです。

を実行するとクライアント側でカミソリを実行すると、それは起こりません。 Razorはクライアントに送信される前に実行されます。

5

SelectListが、原理は同じである必要があり、以下のコードは、テストされていると動作します -

@{String[] testarr = {"hello","bye"};} 
@foreach(String sel in testarr){ 
@:$("#GroupC_grup_name").attr('value', '@sel'); 
@:$("#GroupC_id").attr('value', '@sel'); 
} 
+0

'#GroupC_grup_name'の' value'属性をX個の回数だけ上書きしたいとは思っていません。 – jgauffin

+0

まずは、私がやるべきアクションで上書きしません!私の選択リストは、データ値とテキストフィールドを別々に運ぶためのもので、そのリストは**ありますが、** 1 **アイテムのみを含んでいます。そこで、私は 'razor'の中にいくつかの' jquery code'を注入して '@jrffin'に' @jgauffin'という名前の上書きをした '文字列配列 'を使ってくれたことを感謝しています!だから、もしあなたが 'ViewData [" Gruplar "]のようなデータキャリアでそれをやり遂げる方法を示すことができるのであれば(' @ sel.Value'を 'GroupC_id'に、' @ sel.Text'を 'GroupC_grup_name'に) 「私はそれを知りたい。 –

1

私が理解したようそれは、SELECT項目が選択されたときに要素を更新したいのですか?

定期的な選択リストを作成し、次のjqueryのコードを追加します。

<script type="text/javascript"> 
$(function() { 
    $('#selectListId').change(function() { 
     $selectedItem = $("option:selected", this); 
     $("#GroupC_grup_name").val(selectedItem.html()); 
     $("#GroupC_id").val(selectedItem.val()); 
    }); 

}); 
</script> 
+0

urコードは価値がありますが、これは私の問題ではありません! 私は私が誤解されていると思います。 selectlistには何もしませんが、ここに私の値を得ています。 私の問題には、私の問題がそこにあるかんじの中にjqueryコードを追加しようとしていますか?選択リストやモデルを使用してデータを取得しても重要ではありません。 –

+0

RazorコードがWebサーバーで実行され、jQueryコードがWebブラウザで実行されているため、何をしたいのかを知ることは非常に重要です。一緒に働くことはできません。 RazorはjQueryコードを生成できます(後でブラウザで実行されます) – jgauffin

関連する問題