1

わかりました、これは私の母国語でも説明するのが難しいかもしれませんが、できるだけ明確にしようとします.

さまざまなオプションを持つドロップダウンが 1 つあります。それらのいずれかを選択した後、ユーザーは 2 つのラジオ ボタンのいずれかをオンにする必要があります。これにより、最終的に 2 つの異なる入力フィールドに結果が表示されます。たとえば、ドロップダウンからオプション 2 を選択し、ラジオ ボタン 1 をオンにすると、入力 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があるので、明確化に役立つかもしれません。

フィドル

おそらく、ドロップダウンの各オプション(data1、data2、data3、data4)に4つの属性を指定する必要があるため、選択したオプションでは、radio1がチェックされている場合はdata1を#dekbedに入力し、data2を#overtrekに入力し、data3を#に入力します。ラジオ 2 がチェックされている場合は、dekbed と data4 に #overtrek を入力します。

皆さんがこれを理解してくれることを願っています。私はまだこの選択方法を見たことがないので、これについて助けていただければ幸いです.

4

1 に答える 1

0

各ラジオボタンがルーチン内でチェックされているかどうかを確認する条件を追加してみてください

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

たとえば、radioButton1 の場合は次のようになります。

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

radioButton1 がチェックされている場合は、dekbed と overtrek の値を data1 と data 2 に変更します。

それ以外の場合、radioButton2 がチェックされている場合

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

dekbed と overtrek の値を data3 と data 4 に変更します。

編集注: これらのメソッドを、選択ボックスの変更イベントとラジオ ボタン入力の両方に追加する必要があります。

ソリューションを示すフィドルを作成しました: jsfiddle.net/dbS2Q/1/

これが役立つことを願っています!

于 2013-04-05T10:31:11.867 に答える