启用后,按钮会失去功能吗?

时间:2015-10-17 15:57:38

标签: javascript jquery html

我试图保持按钮被禁用,直到用户通过单选按钮选择一个值。但是按钮在启用时不起作用。这是代码

$(document).ready(function() {

  var minutes = 0;
  var seconds = 0;
  var prev_minutes = undefined;
  var prev_seconds = undefined;
  var timeUpdate;


 //These couple of lines enables the buttons but they lose their functionality.
 // $("#start_pause_resume").prop("disabled", true);
 // $("#reset").prop("disabled", true);

  $("input:radio").change(function() {
    $("#start_pause_resume").prop("disabled", false);
    $("#reset").prop("disabled", false);
  });

  $("#start_pause_resume").button().click(function() {

    if ($(this).text() == "Start") {
      $(this).html("Pause");
      updateTime(0, 0);
      $("input[name='times']").attr("disabled", true);
    } else if ($(this).text() == "Pause") {
      clearInterval(timeUpdate);
      $(this).html("Resume");
    } else if ($(this).text() == "Resume") {

      prev_minutes = parseInt($("#minutes").html());
      prev_seconds = parseInt($("#seconds").html());

      updateTime(prev_minutes, prev_seconds);

      $(this).html("Pause");
    }
  });

  $("#reset").button().click(function() {
    if (timeUpdate) clearInterval(timeUpdate);
    $("input[name='times']").attr("disabled", false);
    setStopwatch(0, 0);
    $("#start_pause_resume").html("Start");
  });

我想让按钮被禁用,直到从单选按钮中选择一个值,然后单击按钮后,单选按钮被禁用。我不明白为什么以上不起作用。请帮忙。 这是html代码

<label>
    <input type="radio" name="times" value="10">10</label>
<label>
    <input type="radio" name="times" value="20">20</label>
<label>
    <input type="radio" name="times" value="30">30</label>
<label>
    <input type="radio" name="times" value="40">40</label>
<label>
    <input type="radio" name="times" value="50">50</label>
<label>
    <input type="radio" name="times" value="60">60</label>

  <div id="controls">
    <button id="start_pause_resume">Start</button>
    <button id="reset">Reset</button>
  </div>

2 个答案:

答案 0 :(得分:1)

你应该改变:

$("#start_pause_resume").button().click(function() {

$("#start_pause_resume").click(function() {

答案 1 :(得分:0)

您无法选择.button()之类的按钮,而不是选择按钮的jQuery方法。

您可以选择它们;

$(":button")

或在您的情况下;

$("#start_pause_resume:button").click(function() { 

有关详情,请查看jQuery参考 here