1
我是新來的JavaScript和代碼剛剛從我的老年人複製。問題是當我點擊GridView中的Edit鏈接時,它不會更改爲Update Cancel。這是腳本代碼。未捕獲TypeError:字符串不是函數
<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") %>" />
將其標記爲已回答,請 – Caveman 2014-11-05 10:24:55
@CapitanCavernícola我是新用戶,因此我無法將其標記爲已回答。 – ezekiel 2014-11-06 03:15:17
從Meta:通過點擊複選標記考慮[接受它](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 – Caveman 2014-11-07 07:54:14