一个下拉菜单,2个收音机,2个输入

时间:2013-04-05 10:06:54

标签: javascript jquery

好的,即使用我的母语也难以解释,但我会尽量保持清晰。

我有一个不同选项的下拉列表。在选择其中一个之后,用户需要检查两个单选按钮中的一个,这最终会在两个不同的输入字段中产生结果。 例如 - 如果从下拉列表中选择选项2,然后选中单选按钮1,则输入一个显示一些值,输入2显示一些其他值。

<select id="single">
    <option>Select an item</option>
    <option data1="140x200" data2="1">80x190</option>
    <option data1="140x200/220" data2="2">80x200</option>
    <option data1="140x220" data2="3">80x210</option>
</select>

<input type="radio" id="radioButton1" name="radioButton" value="enkel" />
<label for="radioButton1">enkel</label>
<input type="radio" id="radioButton2" name="radioButton" value="dubbel" />
<label for="radioButton2">dubbel</label>
<input type="text" id="dekbed">
<input type="text" id="overtrek">

我有这个jsfiddle,所以也许它有助于澄清。

FIDDLE

也许我应该为下拉列表中的每个选项提供4个属性(data1,data2,data3,data4),这样对于选定的选项,如果选中了radio1,则数据1输入#dekbed,data2输入#overtrek,data3如果选中无线电2,则输入#dekbed和data4输入#overtrek。

我希望你们明白这一点,我真的很感激这方面的帮助,因为我之前还没有见过这种选择方式。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加一个条件来检查例程中是否检查了每个单选按钮

 $("#single option:selected").each(function () {

例如对于radioButton1,它将是

   if ($("#radioButton1").is(':checked')){  .... do something }

如果选中了radioButton1,请将dekbed和overtrek中的值更改为data1和data2。

否则,如果选中了radioButton2

if ($("#radioButton2").is(':checked')){  .... do something different}

将dekbed和overtrek中的值更改为data3和data.4。

编辑注释:您需要将这些方法添加到选择框的更改事件和单选按钮输入中。

我在jsfiddle.net/dbS2Q/1/

创建了一个演示解决方案的小提琴

我希望这有帮助!