你好我是Html / Java(脚本/查询)/ css的新手,半年左右
我几乎没有问题
现在我试图制作一个功能/代码,这样做:我有2个单选按钮。
单击第一个单选按钮选择第一个选项,然后删除其他选项。
在单击第二个单选按钮时打开其他选项并删除第一个选项,将其专用于第一个单选按钮
<form enctype="multipart/form-data">
<fieldset>
<legend>מפרט טכני של הסמארטפון:</legend>
<label for="memory">זיכרון פנימי:</label>
<input id="less1" type="radio" value="less" name="memory" onclick="(myFun())" /> פחות מ 1GB
<input id="more1" type="radio" value="more" name="memory" onclick="(myFun1())" />מעל 1GB
<br />
<label for="extra">אפשרות להרחבת זיכרון:</label>
<br />
<select size="5" id="sel">
<option name="extra" value="no1" id="no">לא</option>
<option name="extra" value="yes8">כן,8GB</option>
<option name="extra" value="yes16">כן,16GB</option>
<option name="extra" value="yes32">כן,32GB</option>
<option name="extra" value="yes64">כן,64GB</option>
</select>
</fieldset>
</form>
function myFun() {
$("#sel").prop('size', "1")
select('option', $("no")).select('option:not(:selected)').remove()
}
function myFun1() {
$("#sel").prop('size',"4")
}
我在这里做了另一个话题,这对我有点帮助(jQuery on change only shows the selected option, remove/disable rest of them)
答案 0 :(得分:0)
代码可以满足您的需求。我删除了select()
事件,因为在使用鼠标选择文本时会触发该事件。
最好隐藏/显示元素而不是删除它们。
function myFun() {
// 1. Find the first option and set as selected
$("#sel").find('option').first().prop("selected",true)
// 2. Find its not selected siblings and hide it
.siblings('option:not(:selected)').hide();
// 3. The first radio button is selected, so show the first option
$("#no").show();
}
function myFun1() {
// 1. Find the last option, set as selected and show it
$("#sel").find('option').last().prop("selected",true).show()
// 2. Find its siblings and show them
.siblings('option:not(:selected)').show();
// 3. Hide the first option
$("#no").hide();
}