我在我的網站上有2個下拉菜單(一個是'從下拉菜單',另一個是'下拉菜單')。他們之間有一個按鈕。交換2選擇下拉菜單
我想在用戶單擊按鈕時交換這些下拉列表的位置。像'From'變成'To'並且'To'變成'From'而不會丟失選定的值。還有,id和name應該正確更新以進行表單提交。
這是我的代碼結構,現在 -
<fieldset class="select">
<label><?php __('From'); ?></label>
<?php
echo $form->select(
'from',
$languages,
$selectedLanguageFrom,
array(
'class' => 'language-selector',
"empty" => false
),
false
);
?>
</fieldset>
<fieldset class="into">
<span id="into">»</span>
</fieldset>
<fieldset class="select">
<label><?php __('To'); ?></label>
<?php
echo $form->select(
'to',
$languages,
$selectedLanguageTo,
array(
'class' => 'language-selector',
"empty" => false
),
false
);
?>
</fieldset>
我試着這樣做 -
$(document).ready(function() {
$("#arrow").click(function() {
var obj1=$("#fieldset2").prev();
var obj2=$("#fieldset2").next();
$("#fieldset2").before(obj2);
$("#fieldset2").after(obj1);
});
})
但我認爲這不是最好的方式做到這一點。什麼是最好的方式來實現這一點。 JSFiddle的例子會很有幫助。
編輯 - 選擇的選項不應該交換。只有標籤,標識和名稱應該交換。 HTML代碼的輸出 -
<fieldset class="select">
<label>From</label>
<select name="from" class="language-selector" id="SentenceFrom">
<option value="und" selected="selected">Any</option>
<option value="abk">Abkhaz</option>
<option value="afr">Afrikaans</option>
<option value="ain">Ainu</option>
</select></fieldset>
<fieldset class="into">
<span id="into">»</span>
</fieldset>
<fieldset class="select">
<label>To</label>
<select name="to" class="language-selector" id="SentenceTo">
<option value="und" selected="selected">Any</option>
<option value="abk">Abkhaz</option>
<option value="afr">Afrikaans</option>
<option value="ain">Ainu</option>
</select></fieldset>
什麼意圖在這裏?您是否真的試圖切換*值*,以便按鈕按下時'To'下拉列表的值爲'From',反之亦然,或者您剛剛在頁面上切換兩個元素的位置(純粹是視覺變化)? – 2015-02-05 13:08:48
爲什麼你改變dropdownlist的位置,它更好地交換內容,它看起來像下拉交換 – 2015-02-05 13:10:30
基本上我試圖交換'從'和'到'的位置,並且兩個下拉的id和名稱也應該相應地更新形式提交。下拉菜單中的選定值應保留在那裏。 – 2015-02-05 13:14:56