在新行上显示输入字段(基于单选)
display input field on new line ( based on radio select )
Ok在Stack上找到了一些很棒的代码。稍微调整一下。
但本质上,我们有一个单选框组,在某种形式上。点击其中一个单选按钮,就会显示一个输入字段。
我需要在新行上显示这个输入字段(最好也有一个新标签),但很难。
代码为:html
<div class="s_row_2 clearfix">
<label><strong>Price</strong></label>
<div class="s_full">
<label class="s_radio"><input type="radio" checked="checked" name="r" id="r1" onchange="disableTxt()"/> Free</label>
<label class="s_radio"><input type="radio" name="r" id="r2" onchange="disableTxt()"/> Swap / Trade</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="disableTxt()"/> Lets Talk</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="enableTxt()"/> Price</label>
<input type="text" name="r" id="price" style="display:none;width:212px;" size="30" placeholder="Type your price"/>
</div>
</div>
js:
var temp = '';
function disableTxt() {
var field = document.getElementById("price");
if(field.value != '') {
temp = field.value;
}
field.style.display = "none";
field.value = '';
}
function enableTxt() {
document.getElementById("price").style.display = "inline";
document.getElementById("price").value = temp;
}
Fiddle:http://jsfiddle.net/ozzy/mnxRr/
从本质上讲,我更喜欢价格作为第一选择。这样,onclick输入字段将显示在带有新标签的单选选项下方。
有什么建议请
抱歉:
我更喜欢这样的html:
<div class="s_full">
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="enableTxt()"/> Price</label>
<input type="text" name="r" id="price" style="display:none;width:212px;" size="30" placeholder="Type your price"/>
<label class="s_radio"><input type="radio" checked="checked" name="r" id="r1" onchange="disableTxt()"/> Free</label>
<label class="s_radio"><input type="radio" name="r" id="r2" onchange="disableTxt()"/> Swap / Trade</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="disableTxt()"/> Lets Talk</label>
</div>
为什么不简单地重新排列单选按钮?
<div class="s_full">
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="enableTxt()"/> Price</label>
<label class="s_radio"><input type="radio" checked="checked" name="r" id="r1" onchange="disableTxt()"/> Free</label>
<label class="s_radio"><input type="radio" name="r" id="r2" onchange="disableTxt()"/> Swap / Trade</label>
<label class="s_radio"><input type="radio" name="r" id="r3" onchange="disableTxt()"/> Lets Talk</label><br />
<input type="text" name="r" id="price" style="display:none;width:212px;" size="30" placeholder="Type your price"/>
</div>
看起来很管用,不是吗?
相关文章:
- 单击鼠标,用MySQL数据填充html表单输入字段
- 对象中可选字段的流类型
- 表单输入字段随着溢出的文本而增长
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- 在两个多选字段之间移动选项
- 在表单输入字段中创建默认值
- 复制表单输入字段'提交前的s值
- 用第一个表单值(HTML、Javascript)填充第二个表单隐藏字段
- 每当表单输入字段发生更改时,都会发送一个ajax请求
- 生成动态表单输入字段,并在angularJS中以数组形式收集字段数据
- 自动完成PHP表单选择字段中的用户姓氏
- 将JS中的一个变量插入Django表单输入字段
- 如何根据jsp中某个下拉选项的值来更改表单中字段的属性
- 逐个验证表单的字段
- 如何使用递增的 ng 模型动态创建多个表单输入字段
- 单击字段后,将选中复选框
- 如何使DropzoneJS图像字段成为我表单中的可选字段
- 如何使单选字段在提交时确定下一页
- 禁用基于单选按钮检查的必选字段验证器
- 从复选框中获取值-将其发送到表单(隐藏字段)