这是一个搜索页面。
如何申请:
*如果"过滤"选择{"过滤","日期","状态"和"从/到/ desc"将不加制止; " date"," status"和"从/到/ desc"复选框及其输入文本框将被禁用}
*如果"过滤"被选中{"过滤"将不加制止; " date"," status"和"从/到/ desc"复选框将启用;
**如果" date"已选中{2日期文本框将被启用};如果"日期"未选中{日期文本框将被禁用}
**如果"状态"已选中{状态下拉菜单将启用};如果"状态"未选中{状态文本框将被禁用}
**如果" from / to / desc"已选中{from / to / desc textbox = enabled}; if" from / to / desc"未选中{from / to / desc textbox = disabled}}
此外,点击提交后,我们如何保持文本框中的已检查状态和项目/如果有的话。
注意:我们可以检查所有日期,状态,从/到/ desc复选框
我已经更新了问题和代码(脚本),其中一些是Nisarg建议的。
提前致谢!
<form><input type="radio" name="filtering" id="filteringOff" value=0 checked="checked" class="rbFilter">Filter OFF: Show ALL<br>
<input type="radio" name="filtering" id="filteringOn" value=1 class="rbFilter">Filter ON:
<div id="filterOnControls">
<input type="checkbox" name="filteron_2" id="filteron_2" value=2> Date between (YYYY-MM-DD):
<input type="text" name="datef" id="datef" style="width:80px" autocomplete="off" disabled="disabled"> to:
<input type="text" name="datet" id="datet" style="width:80pxpx" autocomplete="off" disabled="disabled">
<br>
<input type="checkbox" name="filteron_3" id="filteron_3" value=3> Status:
<select name = "status" id = "status" >
<option value="paid" selected="selected">Paid</option>
<option value="not yet">Not yet</option>
</select>
<br>
<input type="checkbox" name="filteron_4" id="filteron_4" value=4> From/To/Description contains:
<input type="text" name="desc" id="desc" style="width:150px" autocomplete="off" disabled="disabled">
<br>
</div></form>
答案 0 :(得分:0)
您可以在更改事件侦听器上使用jQuery执行此操作。在您的HTML中,我更新了两个单选按钮的ID以区分它们,并添加了一个类来收听他们的更改事件。另外,我在div
控件周围包裹了filter = ON
。这允许我使用父div禁用/启用所有这些。
<form action="" method="post" style="line-height: 2em;">
<input type="radio" name="filtering" id="filteringOff" value=0 checked="checked" class="rbFilter">Filter OFF: Show ALL
<br>
<input type="radio" name="filtering" id="filteringON" value=1 class="rbFilter">Filter ON:
<div id="filterOnControls">
<br>
<input type="checkbox" name="filteron" id="filteron" value=2> Date between (YYYY-MM-DD):
<input name="datef" type="text" id="datef" style="width:80px" autocomplete="off" disabled="disabled"> to:
<input name="datet" type="text" id="datet" style="width:80pxpx" autocomplete="off" disabled="disabled">
<br>
<input type="checkbox" name="filteron" id="filteron" value=3> Status:
<input name="status" id="status" type="text" style="width:150px" autocomplete="off" disabled="disabled">
<br>
<input type="checkbox" name="filteron" id="filteron" value=4> From/To/Description contains:
<input name="desc" id="desc" type="text" style="width:150px" autocomplete="off" disabled="disabled">
<br>
<br>
</div>
<input type="submit" value="submit" name="submit" />
$(".rbFilter").on("change", function() {
$("#filterOnControls").find("input").prop("disabled", !$("#filteringON").prop('checked'));
});
这里有一个小提琴:https://jsfiddle.net/zfo7ezx8/1/