我正在开一个HTML页面,点按一下按钮,我正在调用一个javascript函数。该函数有一个来自html字段的参数。我必须根据输入参数加载另一个html页面(它的asp.net MVC3)。
在html页面中:
<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this);" value=@item.ProjectID />
在相同的代码中,我有javascript ..
<script type="text/javascript" language="javascript">
function handleselect(myRadio) {
$.get('@Url.Action("Details", "ProjList", new { id = myRadio.value })',
async: false,
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
</script>
这是我的示例脚本。但是,我收到的错误如“当前上下文中不存在名称'myRadio'。”
HTML代码
我试着看看所有可能的解决方案。请有人帮帮我吗?
的问候。 哈
答案 0 :(得分:0)
使用此功能 - '@Url.Action("Details", "ProjList", new { id = myRadio.value})
或者如果您需要具有值标记的值,请使用此Javascript语句 -
'@Url.Action("Details", "ProjList", new { id = '+myRadio.getAttribute("value")+'})'
修改强>
function handleselect(myRadio) {
var url = @Url.Action("Details", "ProjList", new { id = myRadio.getAttribute("value")});
$.get(url,
async: false,
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
然后 -
答案 1 :(得分:0)
所以你的功能就像
function handleselect(myRadio) {
$.get('@Url.Action("Details", "ProjList")', {
id: $(myRadio).val()
},
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
或
function handleselect(myRadio) {
$.get('@Url.Action("Details", "ProjList")', {
id: $(myRadio).attr('value')
},
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
答案 2 :(得分:0)
myRadio
是客户端变量,它在服务器端不可用
function handleselect(myRadio) {
$.get('@Url.Action("Details", "ProjList")', {
id: myRadio.value
}, function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
答案 3 :(得分:0)
剃刀引擎解释urlhelper并且不知道您的客户端代码。这就是你不能将变量与Url.Action
一起使用的原因。你可以试试这个:
$.get('@Url.Action("Details", "ProjList")?id=' + myRadio.value,
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
或其他选项是使用数据参数:
$.get('@Url.Action("Details", "ProjList")', { id: myRadio.value},
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
答案 4 :(得分:0)
如果您只想要单选按钮的值,请尝试这样
<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this.value);" value=@item.ProjectID />
或者像这样
<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(@item.ProjectID);" value=@item.ProjectID />
在函数中,您直接使用此值
<script type="text/javascript" language="javascript">
function handleselect(myRadioValue) {
$.get('@Url.Action("Details", "ProjList", new { id ='+myRadioValue+'})'),
async: false,
function (viewResult) {
$("#some-container").html(viewResult);
alert(viewResult);
});
});
</script>