Javascript 根据记录集值检查单选按钮
情况摘要:Javascript 根据记录集值检查单选按钮,javascript,jquery,html,asp-classic,Javascript,Jquery,Html,Asp Classic,情况摘要: <td> <input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="0" <% If rs("isDeleted") = CLng(0) Then response.write("checked") End If%> >Έγκυρη <input type="radio" class="form" name="isD
<td>
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="0" <% If rs("isDeleted") = CLng(0) Then response.write("checked") End If%> >Έγκυρη
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="1" <% If rs("isDeleted") = CLng(1) Then response.write("checked") End If%> >Άκυρη
</td>
有一个HTML页面,其中包含一些用于筛选记录集的输入。包含记录的表格由经典asp页面绘制。
每行都有一些显示在可编辑输入元素中的值,用户可以修改和提交这些值。 其中一些值总是0或1,因此我试图通过使用单选按钮而不是文本框来显示该值,从而让用户的生活更轻松 所以我想要单选按钮
<td>
<input type="text" id="hidden_isDeleted" value="<%=rs("isDeleted")%>">
<input type="radio" class="form" name="isDeleted" id="isDeletedNo" value="0">
<input type="radio" class="form" name="isDeleted" id="isDeletedYes" value="1">
</td>
我的第二个想法是不使用jQuery,因为我对它还是新手,而使用一个简单的javascript函数,该函数将由收音机本身的
事件调用
function checkIfDeleted() {
if ($(#hidden_isDeleted).val() == 0) {
document.getElementById("isDeletedNo").checked = true;
}
else {
document.getElementById("isDeletedYes").checked = true;
}
}
是否执行得太快?或者至少在检索记录集之前
我使用隐藏字段的原因是首先检索值,然后让用户有机会选择另一个收音机,从而在提交时更改值。我现在知道可能有更好的方法,但这是我首先想到的
我最后做了什么:
<td>
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="0" <% If rs("isDeleted") = CLng(0) Then response.write("checked") End If%> >Έγκυρη
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="1" <% If rs("isDeleted") = CLng(1) Then response.write("checked") End If%> >Άκυρη
</td>
Έγκυρη
Άκυρη
当需要将更改写回数据库时,我使用收音机的名称检索所选收音机的值,如下所示:
$('input[name=“isDeletedRadio”]:checked').val()代码>
尽管我不太喜欢单选按钮中的VBscript存根,但这是一种很好且简单的方法,所以如果有人有更好的想法,我会关注这个问题
是不是执行得太早了?或者至少在检索记录集之前
否,该功能将在页面完成加载后启动。记录集本身在页面开始呈现之前就已填充。请记住,服务器端代码总是在加载和呈现页面之前执行
至于回答您的问题,正如其他人所指出的,您不需要包含隐藏变量或任何类型的javascript来在页面加载时运行,您实际上可以将逻辑正确地嵌入html元素,如下所示:
<td>
<input type="radio" class="form" name="isDeleted" id="isDeletedNo" value="0" <% if rs("isDeleted") = false then %> checked="checked" %> >
<input type="radio" class="form" name="isDeleted" id="isDeletedYes" value="1" <% if rs("isDeleted") = true then %> checked="checked" %>>
</td>
根据所选内容,该值应返回1或零
是不是执行得太早了?或者至少在检索记录集之前
否,该功能将在页面完成加载后启动。记录集本身在页面开始呈现之前就已填充。请记住,服务器端代码总是在加载和呈现页面之前执行
至于回答您的问题,正如其他人所指出的,您不需要包含隐藏变量或任何类型的javascript来在页面加载时运行,您实际上可以将逻辑正确地嵌入html元素,如下所示:
<td>
<input type="radio" class="form" name="isDeleted" id="isDeletedNo" value="0" <% if rs("isDeleted") = false then %> checked="checked" %> >
<input type="radio" class="form" name="isDeleted" id="isDeletedYes" value="1" <% if rs("isDeleted") = true then %> checked="checked" %>>
</td>
根据所选内容,该值应返回1或0。“然后让用户有机会选择其他收音机,从而在提交时更改值”-为什么需要隐藏字段?您的单选按钮将发送0或1,这取决于用户选择的内容(或您的预选内容),不需要隐藏字段。我知道我的朋友,但我也希望在加载页面时选中其中一个单选按钮。然后根据一个特定的值进行检查。是的,那么?这就是checked
属性的作用-因此您只需在其中一个按钮上动态输出它。您不能简单地将要比较的0转换为长整数吗?像这样的东西应该有铸造功能或操作符。它工作得很好,谢谢你富有成效的讨论/调试!!!我最后这样做了:γκⅤρηγκⅤρη
“然后让用户有机会选择另一个收音机,从而在提交时更改值”-为什么需要一个隐藏字段?您的单选按钮将发送0或1,这取决于用户选择的内容(或您的预选内容),不需要隐藏字段。我知道我的朋友,但我也希望在加载页面时选中其中一个单选按钮。然后根据一个特定的值进行检查。是的,那么?这就是checked
属性的作用-因此您只需在其中一个按钮上动态输出它。您不能简单地将要比较的0转换为长整数吗?像这样的东西应该有铸造功能或操作符。它工作得很好,谢谢你富有成效的讨论/调试!!!最后我做了这件事:我刚才就是这么做的。检查对我的问题的最后一条评论。方法非常相似,所以我想我不得不接受你的答案!这正是我刚才所做的。检查对我的问题的最后一条评论。方法非常相似,所以我想我不得不接受你的答案!
<td>
<input type="radio" class="form" name="isDeleted" id="isDeletedNo" value="0" <% if CStr( "" & rs("isDeleted") ) = "0" then %> checked="checked" %> >
<input type="radio" class="form" name="isDeleted" id="isDeletedYes" value="1" <% if CStr( "" & rs("isDeleted") ) = "1" then %> checked="checked" %>>
</td>
dim isDeleted : isDeleted = Request.Form("isDeleted")