我正在尝试在jQuery中创建一些东西并且遇到一些问题。我不太擅长框架,所以我确信这都是错的。
无论如何,最终目标是一个包含3个单选按钮的完整表单 - 根据按钮的值,显示LI。我完成了所有这些,但我的问题是验证。如果某些内容失败,则会重新加载页面,并且如果没有先单击另一个收音机,则会显示所选的div,然后再返回到原始收音机。这个过程与此处提出的基本相同。
这是我到目前为止所得到的。
HTML
<li> <label> License (radio) </label>
<label for="commercial" class="checkBox"> Commercial </label>
<input type="radio" name="license" value="commercial" id="commercial" class="checkBox" <?php echo set_radio('license', 'commercial'); ?> />
<label for="abandonware" class="checkBox"> Abandonware </label>
<input type="radio" name="license" value="abandonware" id="abandonware" class="checkBox" <?php echo set_radio('license', 'abandonware'); ?> />
<label for="freeware" class="checkBox"> Freeware </label>
<input type="radio" name="license" value="freeware" id="freeware" class="checkBox" <?php echo set_radio('license', 'freeware'); ?> />
</li>
接下来是三个LI包含id =“commercial,abandonware,and freeware”和class =“licenseli”
如上所述,我的jQuery就是这里的东西。
$('li.licenseli').hide();
$('input[name=license]:radio').change(function(){
var Type = $(this).val(); // Get value of radio
$('li.licenseli').slideUp(); // Hide non-selected
$('li#'+Type).slideDown(); // Show Selected
});
所以我需要帮助的是我有一个隐藏的输入,从验证中检索单选框的值 - 我想取这个值(如果可能的话,还是收音机?)并让原始选中的选项的LI已经可见。
答案 0 :(得分:0)
尝试在页面完全加载时触发无线电上的更改事件,以正确设置页面的可视状态:
$(document).ready(function() {
$('li.licenseli').hide();
$('input[name=license]:radio').change(function(){
var Type = $(this).val(); // Get value of radio
$('li.licenseli').slideUp(); // Hide non-selected
$('li#'+Type).slideDown(); // Show Selected
}).change();
});
另请参阅.triggerHandler
,其行为类似。