我有一系列复选框,当表单提交并且出现错误(通过jquery验证)时,我需要显示这些复选框的状态,以便不必重新输入:
<fieldset class="group">
<label for="s_type" class="mandatory full-width <?=$errors['s_type']?>"><strong>Please indicate which you are applying for:</strong></label>
<span class="clear"></span>
</fieldset>
<fieldset class="group">
<div class="field">
<input <?php if($s_type == "Fund Scholarship") { echo 'checked';} ?> type="checkbox" value="Fund Scholarship" name="s_type[]" id="s_type_fund" validate="required:true">
<label>Fund Scholarship</label><br/>
<input <?php if($s_type == "Foundation Scholarship") { echo 'checked';} ?> type="checkbox" value="Foundation Scholarship" name="s_type[]" id="s_type_foundation">
<label>Foundation Scholarship</label><br />
<input <?php if($s_type == "Memorial Scholarship") { echo 'checked';} ?> type="checkbox" value="Memorial Scholarship" name="s_type[]" id="s_type_mem">
<label>Memorial Scholarship</label><br />
<label class="error" for="s_type[]">This field is required</label></div>
</fieldset>
出于某种原因,当我选择其中一个选项时,它只保存,如果我选择2或3,它不会保存?不确定我错过了什么
编辑:哦,我应该提一下,当选择多个时,它会失去所有状态,即使我选择一个状态,它也能保持正确。
编辑:我刚刚意识到代码顶部有以下内容:
$s_type = implode("; ", $_POST['s_type']);
我认为这就是为什么$ s_type ==“基金奖学金”据说可以在我用来模拟这个的另一个php页面上工作
答案 0 :(得分:0)
$s_type
一次只能等于一件事。
如果您想使用所有这些,请尝试in_array()
<input <?php if(in_array("Foundation Scholarship",$_REQUEST['s_type'])) echo 'checked'; ?> type="checkbox" value="Foundation Scholarship" name="s_type[]" id="s_type_foundation">