JavaScript調(diào)用傳遞變量參數(shù)的相關(guān)問題及解決辦法
舉例
有一個js方法,接收參數(shù):
function f1(myValue){ alert(myValue); }
有一個變量:
var passValue="Hello World";
在調(diào)用這個方法的時候(我是出現(xiàn)在Ajax提交的時候):
@Ajax.ActionLink("文本","控制器",new{參數(shù)},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })
這里注意最后的OnSuccess,如果直接把變量丟進(jìn)去,會把變量認(rèn)為是一個字符串
如果改成OnSuccess="f1("+PassValue+")"也不行
搜了一下是需要轉(zhuǎn)義字符
OnSuccess="f1('"+PassValue+"')"
這樣就沒問題了
不過上面調(diào)用Ajax的時候沒注意,這里只是為了給異步調(diào)用方法f1()傳參數(shù)
所以就不用@Ajax了 改成普通A標(biāo)簽就可以了 不然會調(diào)用兩次控制器
ps:js將方法作為參數(shù)調(diào)用
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>js調(diào)用</title>
<script src="cssjs/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function () {
$.dialog = function (settings) {
if ($.isFunction(settings.okCallback)) {
if (settings.height == null) {
if (settings.okCallback.apply() != false) {
alert("1");
}
} else {
if (settings.okCallback.call(this, settings.height) != false) {
alert("2");
}
/*
if (settings.okCallback.apply(this, arguments) != false) {
alert("2");
}
*/
}
}
}
});
</script>
<script type="text/javascript">
$(function () {
$.dialog({
okCallback: print,
height: {data:"你好"}
});
});
function print(ee1) {
alert("print(ee1)");
alert(ee1.data);
/*
alert(ee1.height.data);
*/
/*
function print(a, b, c, d) {
alert(a + b + c + d);
}
function example(a, b, c, d) {
//用call方式借用print,參數(shù)顯式打散傳遞
print.call(this, a, b, c, d);
//用apply方式借用print, 參數(shù)作為一個數(shù)組傳遞,
//這里直接用JavaScript方法內(nèi)本身有的arguments數(shù)組
print.apply(this, arguments);
//或者封裝成數(shù)組
print.apply(this, [a, b, c, d]);
}
//下面將顯示"背光腳本"
example("背", "光", "腳", "本");
*/
</script>
</head>
<body>
</body>
</html>
相關(guān)文章
bootstrap 設(shè)置checkbox部分選中效果
本篇文章主要介紹了bootstrap 設(shè)置checkbox部分選中效果,主要涉及到j(luò)s各個方面的內(nèi)容,對于bootstrap設(shè)置checkbox選中效果感興趣的朋友可以參考一下吧2017-04-04

