2009-05-29 3 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

관련 문제