未捕获的TypeError:string不是函数

时间:2014-11-05 09:51:58

标签: javascript c# asp.net gridview

我是javascript的新手,代码只是从我的老年人那里复制而来。问题是,当我从gridview单击Edit链接时,它不会更改为Update Cancel。这是脚本代码。

<script type="text/javascript">
$(document).ready(function () {
$(':checkbox').change(function () {
  if ($(this).is(":checked")) {
    $(this).val('1');
  } else {
    $(this).val('0');
  }
});

$("[id^=txtNumberVal]").bind("keypress", function (e) {
  var keyCode = e.which ? e.which : e.keyCode
  var chars = String.fromCharCode(keyCode);
  var intRegex = '[-+]?([0-9]*.[0-9]+|[0-9]+)';
  if (!chars.match(intRegex)) {
    alert('Please enter a valid number');
    return false;
  }
});
});

function editClick(i, e, v) {
$(document).ready(function () {
  var id = 0;
  $("#<%=dgRule.ClientID%> tr").each(function () {
    //alert($(this).find("td:eq(5) input[type=hidden]").val());
    id = $(this).find("td:eq(5) input[type=hidden]").val();
    $("#Edit" + id).show();
    $("#Update" + id).hide();
    $("#Cancel" + id).hide();

    if ((i == id) && (e == "E")) {
      if (v == "1") {
        $("#numberVal" + id).hide();
        $("#txtNumberVal" + id).show();
      } else if (v == "2") {
        $("#chkBoolVal" + id).removeAttr('disabled');
      } else if (v == "4") {
        $("#charVal" + id).hide();
        $("#txtCharVal" + id).show();
      }
    } else {
      $("#numberVal" + id).show();
      $("#txtNumberVal" + id).hide();
      $("#chkBoolVal" + id).attr('disabled', 'disabled');
      $("#charVal" + id).show();
      $("#txtCharVal" + id).hide();
    }

  });
});

if (e == "U") {
  $.ajax({
    type: "post",
    url: "EditPasswordRule.aspx/UpdatePwdRule",
    data: "{ numberVal: '" + $("#txtNumberVal" + i).val() + "', boolVal: '" + $("#chkBoolVal" + i).val() + "', charVal: '" + $("#txtCharVal" + i).val() + "', ruleID: '" + i + "' }",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function (result) {
      $("#numberVal" + i).text(parseFloat($("#txtNumberVal" + i).val()).toFixed(2));
      $("#charVal" + i).text($("#txtCharVal" + i).val());
      alert(result.d);
    },
    error: function (xhr, status, error) {
      alert(error);
      return false;
    }
  });
}
else if (e == "E") {
  $("#txtNumberVal" + i).val(parseFloat($("#numberVal" + i).text()).toFixed(2));
  $("#txtCharVal" + i).val($("#charVal" + i).text());
  if ($("#chkBoolVal" + i).is(":checked")) {
    $("#boolVal" + i).val('1');
  } else {
    $("#boolVal" + i).val('0');
  }
  $("#Edit" + i).hide();
  $("#Update" + i).show();
  $("#Cancel" + i).show();
} else if (e == "C") {
  if ($("#boolVal" + i).val() == "1") {
    $("#chkBoolVal" + i).prop('checked', true);
  } else {
    $("#chkBoolVal" + i).prop('checked', false);
  }
  $("#Edit" + i).show();
  $("#Update" + i).hide();
  $("#Cancel" + i).hide();
}
}
</script>

gridview包含:

<a id="Edit<%# Eval("rule_id") %>" href="#" onclick="editClick('<%# Eval("rule_id") %>', 'E', '<%# Eval("val") %>'); return false;">Edit</a>
                <a id="Update<%# Eval("rule_id") %>" href="#" onclick="editClick('<%# Eval("rule_id") %>', 'U', '<%# Eval("val") %>'); return false;" hidden="true">Update</a>
                <a id="Cancel<%# Eval("rule_id") %>" href="#" onclick="editClick('<%# Eval("rule_id") %>', 'C', '<%# Eval("val") %>'); return false;" hidden="true">Cancel</a>
                <input id="_id" type="hidden" value="<%# Eval("rule_id") %>" />

1 个答案:

答案 0 :(得分:2)

没关系。我只需要将以下代码添加到我的网站管理员。

<script src="../Scripts/jquery-1.11.1.js" type="text/javascript"></script>