2009-05-29 13 views
0

次のコードは、警告が呼び出されjQueryのセレクタは、jQueryのイベント内で動作していない

function (value) { 
    if (value === undefined) { 
     var elem = this[0]; 
     if (elem) { 
      if (jQuery.nodeName(elem, "option")) { 
       return (elem.attributes.value || {}).specified ? elem.value : elem.text; 
      } 
      if (jQuery.nodeName(elem, "select")) { 
       var index = elem.selectedIndex, values = [], options = elem.options, one = elem.type == "select-one"; 
       if (index < 0) { 
        return null; 
       } 
       for (var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++) { 
        var option = options[i]; 
        if (option.selected) { 
         value = jQuery(option).val(); 
         if (one) { 
          return value; 
         } 
         values.push(value); 
        } 
       } 
       return values; 
      } 
      return (elem.value || "").replace(/\r/g, ""); 
     } 
     return undefined; 
    } 
    if (typeof value === "number") { 
     value += ""; 
    } 
    return this.each(function() {if (this.nodeType != 1) {return;}if (jQuery.isArray(value) && /radio|checkbox/.test(this.type)) {this.checked = jQuery.inArray(this.value, value) >= 0 || jQuery.inArray(this.name, value) >= 0;} else if (jQuery.nodeName(this, "select")) {var values = jQuery.makeArray(value);jQuery("option", this).each(function() {this.selected = jQuery.inArray(this.value, values) >= 0 || jQuery.inArray(this.text, values) >= 0;});if (!values.length) {this.selectedIndex = -1;}} else {this.value = value;}}); 
} 

を生成します。私はちょうど "こんにちは"を見ることを期待していた。何らかの理由でセレクタを使用してjQueryイベントを発生させることはできますが、そのイベント内のDOM要素を使用しようとすると失敗します。何かご意見は?

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> 

    <script type="text/javascript"> 
     $(function() { 


      $("#myButton").click(function() { alert("clicked!"); alert($("#myHTML").val); }); 


     } 
    ); 
</script> 

    <h2><%= Html.Encode(ViewData["Message"]) %></h2> 
    <p> 
     To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>. 
    </p> 
    <button id="myButton" style="height:50px; width:200px;" >Click Me!</button> 
    <div id="myHTML"> 
    hello 
    </div> 
</asp:Content> 

答えて

4

$("#myHTML").val()が有効です。かっこを含めてください。

また、DIVの内容を警告するには、.text()または.html()が良いでしょう。

+0

:)ありがとうございました。 stackoverflowの私の最初の質問のためにかなり弱い!私の中のVBは、私に括弧を見逃してしまった。 – vonfeldj