我使用这个
jQuery($("select[id='Input"+id+"OdbcParamsId']")).toggle();
我切换选择框。 如果真的选中了复选框,我会在加载页面后尝试检查: 一种选择:
if($( "checkbox[id='Input_" + id+"Isquery_'").attr('checked', 'checked')){....}
第二个选项:
if $( "checkbox[id='Input_" + id+"Isquery_'").is(':checked')) {....}
然而两者都不起作用。尽管我输入的方式是来自谷歌的研究员。 然后我的工作选项是:
$( "#Input_" + id+"Isquery").is(":checked") {...}
现在最让人眼花缭乱的是,它并没有正确地触发事件以下的最终代码:
alert($( "#Input_" + id+"Isquery").is(":checked"));
if (!$( "#Input_" + id+"Isquery").is(":checked")){
jQuery($("select[id='Input"+id+"OdbcParamsId']")).toggle();
}
正如你所看到的那样,事件切换真的有效,选择器没有。 我是JQuery的新手,我不明白为什么。我们是否必须为不同的事件和方法使用不同的选择器?请有人解释一下。 谢谢。 的 [编辑]: ** [HTML CODE] **
<td><div class="input checkbox"><input type="hidden" name="data[Input_41][isquery]" id="Input_41Isquery_" value="0"/><input type="checkbox" name="data[Input_41][isquery]" class="chks" onclick="jqOnOffInputFormDbToggle(41)" options="True False (choose one)" value="1" id="Input_41Isquery"/><label for="Input_41Isquery"></label></div></td>
<td><select name="data[Input][41][odbc_params_id]" id="Input41OdbcParamsId">
<option value="">(choose)</option>
<option value="52">PGSQL1</option>
</select></div></td>
我不得不说用show / hide替换toggle()确实可以解决问题。 但选择器的东西对我来说有点尴尬
答案 0 :(得分:2)
最大的问题是选择器以“复选框”开头无效,没有tagName“复选框”。有一个jQuery选择器“:checkbox”,但你的第一个“如果”使用attr('checked','checked')也没有正确设置。
最后一个解决方案是最有效的,因为使用ID选择器是最有效的处理方式,而不是$('tagName [attribute =“value”]')并且更容易阅读
编辑:编写完成后添加了更多代码
按照我的“ID选择器最好”,更改:
jQuery($("select[id='Input"+id+"OdbcParamsId']")).toggle();
要:
jQuery('#Input'+id+'OdbcParamsId').toggle();
使用“jQuery”或“$”但混合它们会让你感到困惑,它们是同一件事
答案 1 :(得分:0)
切换说:
select[id=Input+id+"OdbcParamsId']"]
,选择器说:
select["#Input_"+id+"Isquery"]
那么,是输入还是输入_ ?
答案 2 :(得分:0)
首先,看起来你误解了jQuery选择器是如何工作的,我强烈建议你立即阅读the jQuery tutorial 。
其次,你对toggle
的使用并不是它应该用于的方式;也许它有效,但不是这样做的,实际上toggle
是event binding function。
现在,我假设你至少使用jQuery 1.6,如果没有,可能以下代码不起作用。
获取复选框的值(true
的布尔false
):
$("#input_id").prop("checked");
要修改复选框(标记为已选中,请将值更改为false
以取消选中):
$("#input_id").prop("checked", true);
获取select的值(即所选选项的值):
$("#select_id").find("option:selected").value();
修改选择的值:
$("#select_id").val("option_value");
答案 3 :(得分:0)
if $("#Input_" + id+"Isquery").is(":checked"){
$("#Input" + id + "OdbcParamsId").toggle();
}