【问题标题】:Radio button onclick not working单选按钮 onclick 不起作用
【发布时间】:2015-11-15 08:53:58
【问题描述】:

我有 3 个单选按钮,它们将根据单击的按钮显示列表中的某些作业。我曾经使用搜索按钮来运行搜索代码。所以用户会选择一个单选按钮然后点击搜索。但是现在我已经删除了搜索按钮,我希望单选按钮在单击时调用搜索功能。

<table>
  <tr>
    <td>
      <label id="lblAll" runat="server">All</label>
      <input type="radio" name="rbl_filter" runat="server" id="rbAll" onclick="btnSearch_Click" />
    </td>
    <td>
      <label id="lblCollections" runat="server">Collections</label>              
      <input type="radio" name="rbl_filter" runat="server" id="rbCollections" checked="true"  onclick="btnSearch_Click"/>
    </td>
    <td>
      <label id="lblDeliveries" runat="server">Deliveries</label>
      <input type="radio" name="rbl_filter" runat="server" id="rbDeliveries" onclick="btnSearch_Click" />                                                
    </td>
  </tr>
</table> 

我添加了与搜索按钮相同的 onclick 代码。但是当我单击单选按钮时没有任何反应

【问题讨论】:

  • 如果在代码隐藏文件中添加事件处理程序,则不需要 onClick
  • 您必须在代码隐藏中处理它,因为您的代码似乎是 onclick 而不是 onclientclick 并且您拥有 html 控件而不是 asp。请检查
  • @DieVeenman 我在 protected void btnSearch_Click(object sender, EventArgs e) 后面的代码中有一个搜索功能。选择单选按钮时如何调用它?
  • @Padmanaban 我在 protected void btnSearch_Click(object sender, EventArgs e) 后面的代码中有一个搜索功能。选择单选按钮时如何调用它?
  • 在其后面添加“handles btnSearch.Click”

标签: javascript html asp.net


【解决方案1】:

你必须在你的函数名后使用 ()

这就是你想要的

       function btnSearch_Click() {
         alert("hello");
       }
<table>
  <tr>
    <td>
      <label id="lblAll" runat="server">All</label>
      <input type="radio" name="rbl_filter" runat="server" id="rbAll" onclick="btnSearch_Click();" />
    </td>
    <td>
      <label id="lblCollections" runat="server">Collections</label>
      <input type="radio" name="rbl_filter" runat="server" id="rbCollections" checked="true" onclick="btnSearch_Click();" />
    </td>
    <td>
      <label id="lblDeliveries" runat="server">Deliveries</label>
      <input type="radio" name="rbl_filter" runat="server" id="rbDeliveries" onclick="btnSearch_Click();" />
    </td>
  </tr>
</table>

对于jsfiddle

【讨论】:

  • 我在 protected void btnSearch_Click(object sender, EventArgs e) 后面的代码中有一个搜索功能
【解决方案2】:

试试,

onclick="btnSearch_Click();"

你需要有括号。

示例

http://jsfiddle.net/y9vn5fow/1/

【讨论】:

    【解决方案3】:

    转到您的代码后面,然后将其添加到您的 EventHandler:

    btnSearch_Click(object sender, EventArgs e) handles btnSearch.Click 
    

    无需在 HTML 标记中添加 onClick 参数

    【讨论】:

      【解决方案4】:

      如果你想在单选按钮的点击上调用你的 buttonclick 事件。

      例如:

      如有必要,隐藏您的按钮。

      <asp:Button ID="btnSearch" runat="server" OnClick="btnSeach_Click" style="display:none" />
      
      <input type="radio" name="rbl_filter" runat="server" id="rbAll" onclick="searchClick(); return false;" />
      

      JavaScript

      <script type="text/javascript">
       function searchClick()
       {
          document.getElementById('<%= btnSearch.ClientID %>').click();
       }
      </script>
      

      希望对你有帮助!

      【讨论】:

        【解决方案5】:

        &lt;label onclick="red()"&gt;&lt;input type="radio" name="colors" id="red"&gt;Red&lt;/label&gt;

        <label onclick="red()"><input type="radio" name="colors" id="red"></label> <label for="red">Red</label>

        <script>
        function red(){
         alert('i am red');
        }
        </script>
        

        如果你想在单选按钮上调用 onclick 函数,那么你可以这样使用,它会为你工作

        注意:我们必须调用标签上的函数而不是单选按钮

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-07-18
          • 2014-10-30
          • 1970-01-01
          • 2018-05-10
          • 1970-01-01
          • 2013-03-09
          • 1970-01-01
          • 2015-02-22
          相关资源
          最近更新 更多