【问题标题】:Get Text Select That Runat="Server"获取文本选择 Runat="Server"
【发布时间】:2011-07-14 23:14:03
【问题描述】:
   <select   id="Select1">
         <option>1</option>
         <option>2</option>
         <option>3</option>
  </select>

alert($("#Select1").val());

此代码正确并返回当前值。

但是

   <select runat="server"   id="Select1">
         <option></option>
  </select>

function parseXmlQuestion(xml)
{

   $(xml).find("Question").each(function()
  { 
     var value=$(this).find('Text').text()
     $('#<%=Select1.ClientID %>').
      append($("<option></option>").
      attr("value",value).
      text(value)); 
   });

}

alert( $('#<%=Select1.ClientID %>').val());
alert( $('#<%=Select1.ClientID %> option:selected').val());

alert( $('#<%=Select1.ClientID %>').text());
alert( $('#<%=Select1.ClientID %> option:selected').val());

alert( $('#<%=Select1.ClientID %>').html());
alert( $('#<%=Select1.ClientID %> option:selected').val());

返回 null 或未定义。

【问题讨论】:

  • 它实际上是附加option元素吗?当您在客户端检查它时(使用 FireBug 之类的东西)实际发生了什么?第二个例子比仅仅是runat="server"。 span>
  • &lt;%=Select1.ClientID %&gt; shotos返回什么? span>
  • 你为什么重新发布这个问题? stackoverflow.com/questions/5297778/get-current-text-select
  • 首先,你需要把';'在 var value=$(this).find('Text').text() 的末尾
  • 在你的 each() 调用中发出警报,并确保它正在触发

标签: javascript jquery select jquery-selectors selection


【解决方案1】:

好吧,你有点奇怪,每次你回答的时候,你对我们的帮助就更少了……

这是你应该做的。

  1. 测试这是否返回正确的 id。 &lt;%=Select1.ClientID %&gt; 应该是 Select1
  2. 检查你的xml,也就是说,正确的,(最好使用json,它更容易)包括你的xml标签的大写。 console.log(value)alert(value) 如果你还没有进化,也可以这样做:)
  3. parseXmlQuestion() 应该在页面上的某处被调用,否则你只是让一只坐着的鸭子没有被射中或者没有告诉它运行

【讨论】:

    【解决方案2】:

    你需要从

    中删除&lt;option&gt;&lt;/option&gt;
       <select runat="server"   id="Select1">
             <option></option> <-- your values get added after this so probably the null is coming from here
      </select>
    

    应该是这样的

       <select runat="server"   id="Select1"></select>
    

    【讨论】:

    • 从哪里删除 option?
    • 在 html 代码中删除脚本错误说追加未定义
    • 不知道你的意思,但只从html 中删除它...不要从脚本中删除它...不要删除select 只是删除option 元素
    • &lt;%=Select1.ClientID %&gt; 可能为空或NULL 所以$('#').append(...) 会导致错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多