我有一个页面,我有一堆单选按钮,并在这些单选按钮上踢会导致最近的文本输入变成文件输入,以防他们有图像,他们希望上传。取消选择和选择变化的jQuery单选按钮
我的问题是,如果他们决定他们不想要一个图像,我希望他们能够取消选择该单选按钮,并做一些功能,将该文件改回文本输入。
我的html看起来像这样,除了我有更多<tr>
然后这个。我只是不想在这里转储一堆代码。
<table>
<tbody>
<tr id="1">
<td>Correction 1</td>
<td><input type="number" name="page1" class="form-control" min="1" max="10000"></td>
<td><input type="number" name="pargraph1" class="form-control" min="1" max="100000"></td>
<td><input type="number" name="line1" class="form-control" min="1" max="100000"></td>
<td><p><input type="radio" name="add_image1" class="imageInput" value="" /> Adding</p>
<p><input type="radio" name="add_image1" class="imageInput" value="" /> Replacing</p>
</td>
<td class="hidden-480"><input type="text" name="incorrect1" value="" class="form-control" /></td>
<td class="hidden-480 correct"><input type="text" name="correct1" value="" class="form-control" /></td>
<td><input class="btn-small btn btn-success" type="submit" name="" value="Done" /></td>
</tr>
</tbody>
</table>
我的查询看起来像这个时刻。
$('.correctionList').on('change', '.imageInput', function() {
if($('.imageInput').is(':checked')) {
$(this).closest($('tr')).find('.correct').html('<input type="file" name="correct'+num+'" value="" class="form-control" /></td>');
$(this).addClass('selected');
$(this).prop('checked', true);
}
if($('.imageInput').hasClass('selected') && $('.imageInput').is(':checked')){
$(this).closest($('tr')).find('.correct').html('<input type="text" name="correct'+num+'" value="" class="form-control" /></td>');
$(this).removeClass('selected');
$(this).prop('checked', false);
}
});
我知道我在这里的正确轨道,但也许我没有调用正确的方法来取消选择单选按钮。任何帮助都是极好的。
这是一个jsFiddle来显示正在发生的事情。 http://jsfiddle.net/pPE9W/
@NickR可以取消使用此代码$单选按钮(这).prop( '检查',虚假);我遇到了一个问题,我怎么称呼它才能工作。我不能使用复选框,因为我不希望它们能够选择两者,它必须是或者 – zazvorniki
我同意@NickR,因为它仍然不是非常直观的让用户取消选择单选按钮。如果选择了复选框,只需使用一些脚本即可取消选择另一个脚本。 – Goose
@Goose由于我上面提到的原因以及其他原因,我无法使用复选框。而我的界面分层的方式,你没有看到,实际上非常直观。 – zazvorniki