当文档加载到我的单选按钮时,我正试图让jQuery绑定onClick函数。
ASP回到数据库并查找所有打开的标记,然后它使用原始HTML发送对页面的响应,以生成单选按钮和标记的图像。我需要做的是让jQuery(或其他任何东西)绑定一个onClick,它会发出一个单击的信号,这样我就可以将该markerId发送回数据库,将它附加给一个人。
这是迄今为止我尝试过的粗略jsFiddle。在调试中,我在每个函数中添加了警报,我看到它们就像我应该的那样,但attr('id')
未定义。
这是将单选按钮放在表单上的html
<br />
<p>Select open marker for new user:
<% getMarkers(); %>
</p>
这是该电话的代码隐藏
while (reader.Read())
{
if (readIndex % 3 == 0)
markerTable += "<tr>";
string markerId = reader["marker_id"].ToString();
string fileName = reader["marker_filename"].ToString();
markerTable += "<td><input type=\"radio\" name=\"openMarker\" value=\"" + markerId + "\" " +
"id=\"oMrk" + markerId + "\"><label for=\"oMrk" + markerId + "\"><img src=\"/Markers/" +
fileName + "\" /></label></input></td>";
readIndex++;
if (readIndex % 3 == 0)
markerTable += "</tr>";
}
if (readIndex % 3 != 0)
markerTable += "</tr>";
markerTable += "</table>";
}
else
markerTable = "<p>No empty markers. Please delete a user to continue.</p>";
sCon.Close();
return markerTable;
我发布的小提琴从这个函数中粘贴了源代码。
我有两个问题。
$(document).ready()
调用的,为什么属性未定义?我对网络很陌生,所以如果我在程序上偏离标记,我愿意接受建议。
答案 0 :(得分:1)
$(document).ready(function () {
$('input:radio').each(function (radElem) {
var radId = $(this).attr('id');
alert(radId);
});
$('input:radio').on('click', function () {
alert('Clicked');
});
});
答案 1 :(得分:0)
$(document).ready(function () {
$('input:radio').on('click', function() {
alert($(this).attr('id'));
});
});
您是否需要在停留在页面上时将值发送到服务器? (通过ajax)
或者您是否需要将表单发布到另一页?
答案 2 :(得分:0)
onClick
而不是。{
只是click
this
关键字我用小提琴测试了它,它有效。其他人提供了类似的答案,但无论如何这里都是小提琴:THE FIDDLE
$(document).ready(function () { $("input:radio").each(function () { var radId = $(this).attr('id'); alert(radId); $(this).on('click', function () { alert('Clicked'); }); }); });
至于一个更好的方法来做你想要完成的事情,我并没有牢牢掌握你想要做的事情,对不起。但感觉就像你最初应该在asp.net中填充它一样,但是页面的限制可能无法实现这一点。我不能说。
另外,请继续选择之前的答案之一,我只想向您解释为什么您的工作无效。