我想从代码后面调用jQuery函数,因为我必须为函数发送变量。 我在后面的代码中使用了这段代码:
ClientScript.RegisterClientScriptBlock(this.GetType(), "myfunction", "ValidateTB("+ num+ "," + count +");", true);
我的功能是:
function ValidateTB(num,count) {
var check = false;
alert("alert");
for (var i = 0; i < num; i = i + 1) {
check = false;
for (var j = 0; j < count; j = j + 1) {
var id = "myTextBox" + i + j;
if ($("input[type='text']").val().length > 0) {
check = true;
}
if (check == false) {
$("#error").text("error");
return false;
}
}
}
return true;
};
为什么我的功能不起作用?听起来我的功能没有运行
答案 0 :(得分:0)
确保在<script>
部分的<head>
块中声明此功能。
答案 1 :(得分:0)
您的代码应如下所示。
ClientScript.RegisterClientScriptBlock(this.GetType(), "myfunction", "return ValidateTB("+ num+ "," + count +");", true);
你的jquery函数返回true或false值,所以当你调用你的函数时你必须写“return”。
答案 2 :(得分:0)
从后面的代码调用任何jquery代码时,请确保使用$(document).ready包围代码。您需要将调用后的代码更改为以下内容:
ClientScript.RegisterClientScriptBlock(this.GetType(), "myfunction", "$(document).ready(function(){ValidateTB('"+ num+ "','" + count +"');});", true);
答案 3 :(得分:0)
使用RegisterStartupScript
代替
答案 4 :(得分:0)
假设我们有以下jquery类&#34; ChangeDate&#34;有一些属性和一个OnSelect事件将在选择期间调用,那么如果我们想在代码隐藏中使用这个类并更改它,那么一种方法是采用字符串构建器并执行如下操作,
$(document).ready(function () {
$('.ChangeDate').datepicker({
beforeShowDay: $.datepicker.noWeekends,
changeMonth: true,
changeYear: true,
dateFormat: 'mm/dd/yy',
yearRange: '-100:+100',
showButtonPanel: true,
onSelect: function (date) {
sMsg = sMsg + getErrorMessage('HME0002');
if (confirm(sMsg) == true) {
$('.ChangeDate').val('As of ' + date);
$(this).datepicker("hide");
return true;
}
else {
$('.ChangeDate').val('As of ' + oldD);
return false;
}
}
}); });
在代码隐藏中使用StringBuilder并将其附加到需要的函数并使用RegisterClientScriptBlock调用它,如下所示
StringBuilder sb = new StringBuilder();
sb.Append("$(document).ready(function () {");
sb.Append("$('.ChangeDate').val('As of " + DateTime.Now.ToString("MM/dd/yyyy") + "');");
sb.Append("});");
BuildJSString("KEY", sb.ToString());
private void BuildJSString(string keyStr, string scriptStr)
{
ClientScript.RegisterClientScriptBlock(this.GetType(), keyStr, scriptStr,true);
}