2014-04-24 58 views
0

我想从一个选择框的值交换到另一个使用jquery切换选择选择框选择的值,jquery的:上点击

MY选择框是在http://harvesthq.github.io/chosen/

实施例的形式:

说我有2个下拉选择框,首先我选择了美元&秒我选择了EURO,点击开关按钮后两个选择框的选择值&级别应该换位

http://jsfiddle.net/34kcb/(没有选上的作用,正常工作)

我想下面的代码,但它现在给我我所期待的,所以可能是你能不能帮我

$("body").on("click", "#switchid", function(){ 
       var frm='';var to=''; 
       frm=$("#from_currency option:selected").val(); 
       to=$("#to_currency option:selected").val(); 
       $("#to_currency").val(frm); 
       $("#from_currency").val(to); 
       //currencyConverter(); 
    }); 

HTML代码

<select name="from_currency" id="from_currency"> 
        <option value="USD">USD : United States Dollar</option> 
        <option value="EUR">EUR : Euro</option> 
        <option value="JPY">JPY : Japanese Yen</option> 
        <option value="INR">INR : Indian Rupee</option> 
    </select> 
<br/> 

    <select name="to_currency" id="to_currency"> 
        <option value="EUR">EUR : Euro</option> 
        <option value="USD">USD : United States Dollar</option> 
        <option value="JPY">JPY : Japanese Yen</option> 
        <option value="INR">INR : Indian Rupee</option> 
    </select> 

<br/> 

<input type="button" id="switchid" value="Switch"/> 

UPDATE:

在简单的选择框其工作但整合后,同样的事情是 不工作。任何想法?

+0

你的小提琴作品正是你如何解释它应该 – George

+0

@oGeez哦,我更新了我的问题。 – user2173803

+0

我解决我的问题,从这个答案http://stackoverflow.com/a/9679013/2178632 – user2173803

回答

0

试试这个

$("#switchid").on("click", function(){ 
      var frm = ''; 
      var to =''; 
      frm = $("#from_currency").val(); 
      to = $("#to_currency option:selected").val(); 
      $("#to_currency").val(frm); 
      $("#from_currency").val(to); 
      $("#from_currency, #to_currency").trigger("chosen:updated"); 
     }); 

最后一行" $("#from_currency, #to_currency").trigger("chosen:updated");"应该触发选择更新。我还没有测试过,因为我没有选择(或现在的时间)! :)

+0

PLZ检查我的问题,我再次有不同势类型选择框 – user2173803

+0

触发上述功能$的这个功能结束(“#from_currency,#to_currency”)的。触发器(“选择:更新”); – chandu

+0

我尝试了你所给的,但仍然没有发生 – user2173803

0

试试这个:

$("body").on("click", "#switchid", function(){ 
    var frm = ''; 
    var to =''; 
    frm = $("#from_currency").val(); 
    to = $("#to_currency").val(); 
    $("#to_currency").val(frm); 
    $("#from_currency").val(to); 
    $("#from_currency, #to_currency").trigger("chosen:updated"); 
}); 

在这里工作:http://jsfiddle.net/H5x5u/

你并不需要选择的选项:选择时,.VAL()jQuery不会为你。

+0

PLZ看看@我的问题,我已经更新了。 – user2173803

+0

问题是下拉列表中,当你使用chosenbox隐藏。你要加$( “#to_currency,#from_currency”)触发( “选择:更新”)。就在行结束之前。我已经更新了我的答案,它应* *工作:) – wobbit

+0

哪里更新? – user2173803

0
$("body").on("click", "#switchid", function(){ 
var firstDropDownValue = $("#from_currency option:selected").attr('selected','selected').val(); 
var secondDropDownValue = $("#to_currency option:selected").attr('selected','selected').val(); 
var afterSwitchFirstValue = $("#from_currency").val(secondDropDownValue);   
var afterSwitchSecondValue = $("#to_currency").val(firstDropDownValue); 
    }); 

PL CHK在http://jsfiddle.net/34kcb/2/答案和值在选择框的工作,因为你需要转乘..