2012-02-27 12 views
0

私は自分のページに複数のDIVを持っていますが、別のページビューで正しいDIVを作成できません。私はいくつかの助けに感謝します。正しいDIVを別のページコンテンツに動的に埋め込みます。

DIVのリストを作成するループがあります。最後は、解析されたではHTMLは次のようになります。そして今、私が「#replycontainer:3」「コメント」ボックスを追加する必要があります。

<div id="replycontainer:1"> 
CONTENT1 
<button id="to:1" class="reply">REPLY</button> 
</div> 

<div id="replycontainer:2"> 
CONTENT2 
<button id="to:2" class="reply">REPLY</button> 
</div> 

<div id="replycontainer:3"> 
CONTENT3 
<button id="to:3" class="reply">REPLY</button> 
</div>  

は今、ユーザーが「3」のボタンをクリックしたと言うことができます。

私が正しく思うJavaScriptは動作しません。クリックされたDIVクラスを正しく検出しますが、選択したDIVに他のページコンテンツは追加されません。

何が問題になりますか?

Javascriptを/ jQueryの私がクリックされたDIVボタンを検出するために使用します。事前に

<script type="text/javascript"> 

$(document).ready(function() { 
    $("button.reply").click(loadComment); 
}); 


function loadComment() { 
    var id = this.id.split('to:'); 
    var postId = id[1]; 
    var containername = "#replycontainer:" + postId; 

    $(containername).load("/Post/Comment"); //MVC Action pointer 
} 

</script> 

感謝を!

答えて

1

あなたがエスケープする必要があります ":" jQueryのセレクタAPIごとに "\\" と。クラス名

http://api.jquery.com/category/selectors/

を区切るための悪いシステム「:」のようなセレクタの多様性を定義するために使用される「:入力」、「:チェックする」など

+0

それはそれでした。ありがとうございます – Shenaniganz

0

あなたはそれが実際のコードだ場合

class="replycontainer:1 

に「"」逃すと。『:』私が知っているように私が知っているように、シンボルは、idとクラスの属性に推奨されていません

+0

IDとNAMEトークンは、文字([A-Za-z])で始まり、任意の数の文字、数字([0-9])、ハイフン( - )、アンダースコア_ ")、コロン(": ")、およびピリオド("。 ")が含まれます。 – shaunsantacruz

+1

しかし、[:]を使用すると、このクラスをCSSファイルで使用すると、疑似クラスとして解釈されます(例:hover、:visited - はよく知られていますが、:1 ???) – ZloyPotroh

+0

明確化のためにありがとう。 – shaunsantacruz

1

ここでは、参照します。 DIV:

var containername = "#replycontainer:" + postId; 

しかし、コンテナは実際にはクラスである:

<div class="replycontainer:1> 

また、タイプミスがあります。あなたは二重引用符でクラストークンを閉じるのを忘れました。私はここでそれを修正した

var containername = ".replycontainer:" + postId; 
... 
<div class="replycontainer:1"> 
+0

申し訳ありませんが、私は例を投稿したときにうんざりしました。はい、それらはIDであり、クラスではありません。下のDIVとJavascriptの両方でIDを使用します。私のJavascriptは正しいですが、動作していません。何が間違っていますか? – Shenaniganz

0

私は負荷の値を考えていません()はJavascript/Jqueryに関連しています。

$(containername).load("/Post/Comment"); //MVC Action pointer 

load()はページの読み込み中に一部のjavascriptしか実行できませんでした。しかし、クライアント側スクリプトでサーバースクリプトを実行しようとしています。それを見てください。

+0

仕事に... 変更されました:_ separatorのために動作します。私が混乱しているのは、このロジックを処理するのに時間がかかるということだけです。画面上で何か起こる前に、クリックしてから5秒後に良い状態になります。 あなたの言ったこととは関係ないと思っていますが...そうですか? – Shenaniganz

関連する問題