javascript函数中的jquery不起作用
我正在从razor代码中调用javascript函数..但是javascript函数中的jquery代码没有执行javascript函数中的jquery不起作用,javascript,jquery,syntax,Javascript,Jquery,Syntax,我正在从razor代码中调用javascript函数..但是javascript函数中的jquery代码没有执行 正确的做法是什么 function getPosition(id) { var c = '#' + id; return $c.index(); } 我的HTML表格 <tbody> <tr> <td> @foreach(Result geResults in Model.r
- 正确的做法是什么
function getPosition(id) { var c = '#' + id; return $c.index(); }
<tbody>
<tr>
<td>
@foreach(Result geResults in Model.results)
{
@:
<script>
{
getPosition(@geResult.assessmentId);
}
</script>
}
</td>
</tr>
<\tbody>
@foreach(结果geResults in Model.results)
{
@:
{
getPosition(@geResult.assessmentId);
}
}
更新
由于每个人都感到困惑,我发布了更多的细节
<table>
<thead>
<tr>
@foreach (Assessment geAssessment in Model.assessments)
{
<th id=@geAssessment.AssessmentID>@geAssessment.Name</th>
}
@foreach(模型评估中的评估)
{
@geAssessment.Name
}
@{
//为正文中的每个评估添加td
foreach(模型评估中的评估)
{
@foreach(ShortResult-geResult-in-Model.results)
{
@:
{getPosition(@geResult.assessmentId);
}
}
}
}
我想在getPosition函数中返回列索引,然后在td中打印。希望这能消除任何混淆
目前它说getPosition是断章取义的,而intellisense在我编码时显示getPosition,只需将
c
放在括号中即可。它将是这样的:
function getPosition(id) {
var c = '#' + id;
return $(c).index();
}
如果它不扔
$Undefind错误
首先检查传递的值是否意味着getPosition(“”)不为null,然后在JavaScript中写入
function getPosition($id) {
var c = '#' + $id +;
return $(c).index();
}
您想要实现什么?
$c
未定义。你的意思是$(c)
。试试这个返回$('#'+id).index()代码>。你也需要访问这个我不认为这是如何工作的。。。您可能需要添加一个带有onload的元素来加载函数。我不知道razor的代码,所以我也不知道,但这看起来就是错的。尝试添加一个console.log并在控制台上获取一些内容。这个@geResult.assessmentId
的值是多少?您是否有id为@geResult.assessmentId的值的元素?从id
更改为$id
是毫无意义的,引入了错误的语法,您没有用$c
解释问题。实际上,我在td中将此id定义为:@geAssessment.Name,然后我尝试在tbody中为每个结果找到正确的标题/列…它以前被调用过,现在它说getPosition在当前上下文中不存在。我已经描述了我的代码这里的详细信息:这个答案看起来不错,但我无法测试,因为错误请参阅更新
function getPosition($id) {
var c = '#' + $id +;
return $(c).index();
}