将元素的ID从jQuery传递给C#web服务(使用JSON)
我有一个包含一个div的列表,jQuery将这些div转换为进度条。在.ready上,我构建了一个所有这些进度条的列表,并为每个进度条调用一个Web服务,该服务获取一个值,该值指示进度条应该有多满。为此,我需要将div的ID传递给web服务 因为div在ListView中,所以我手动将id设置为id=“completionbar\ux” 然而,当我将这个id传递到我的web服务中时,每次都显示为“未定义”。当我查看源代码时,它看起来设置正确 以下是调用我的web服务的jQuery:将元素的ID从jQuery传递给C#web服务(使用JSON),c#,asp.net,jquery,web-services,listview,C#,Asp.net,Jquery,Web Services,Listview,我有一个包含一个div的列表,jQuery将这些div转换为进度条。在.ready上,我构建了一个所有这些进度条的列表,并为每个进度条调用一个Web服务,该服务获取一个值,该值指示进度条应该有多满。为此,我需要将div的ID传递给web服务 因为div在ListView中,所以我手动将id设置为id=“completionbar\ux” 然而,当我将这个id传递到我的web服务中时,每次都显示为“未定义”。当我查看源代码时,它看起来设置正确 以下是调用我的web服务的jQuery: <sc
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$(".MilestoneCompletion").progressbar({ value: 0 });
$.each($(".MilestoneCompletion"), function(index, barDiv) {
$.ajax({
type: "POST",
url: "ProjectTracking.aspx/GetText",
data: "{'id':'" + $(barDiv).id + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success:
function(msg) {
$(barDiv).progressbar("value", msg.d);
}
});
});
});
</script>
下面是我在ListView中设置div的id的地方:
<ItemTemplate>
<li class="ui-widget-content" >
...
<!-- when this div loads, I want to call my webservice -->
<div id="completionbar_<%# Eval("MilestoneID") %>" class="MilestoneCompletion" style="height:30px;"></div>
...
</li></ItemTemplate>
...
...
我在想,脚本可能是在ListView数据绑定设置DIV id之前执行的
我能解决这个问题吗?或者我的方法根本上有缺陷吗?不确定它是否与您的问题有关,但我认为应该是: 更新:您只需传入一个
函数(索引)
,然后在函数中使用此
引用div:
$(".MilestoneCompletion").each(function(index) {
...
$(this).progressbar("value", msg.d);
$(barDiv).attr('id')
我应该提到,这将正确地将每个进度条填充到75%。这是一个常见的问题。我无法告诉您有多少次我认为自己可以在jQuery对象上获得.id
。是的,肯定与您的问题无关:)
$(".MilestoneCompletion").each(function(index) {
...
$(this).progressbar("value", msg.d);