2014-02-19 14 views
1

我在HTML中有两个选择。服务两个选择的一个函数JQuery

<select id="country"> 
    <option value="Sasha">--Wybierz--</option> 
    <option value="Egipt">Egipt</option> 
    <option value="Afganistan">Afganistan</option> 
    <option value="Serbia">Serbia</option> 
</select> 

<select id="country-bd"> 
    <option value="Sasha">--Wybierz--</option> 
    <option value="Egipt">Egipt</option> 
    <option value="Polska">Polska</option> 
    <option value="Serbia">Serbia</option> 
</select> 

var high_ryzyko_kraj = ['Polska', 'Afganistan', 'Ukraina']; 

$(function(){ 
$('#country').change(function(){ 
    caunt = $(this).val(); 
    scoring = 0; 
     var arr = $.inArray(caunt, high_ryzyko_kraj) 
     if (arr===1){ 
      scoring =+ 4 ; 
      clback(); 
     } 
    }); 

function clback(){ 
    result = scoring 
    console.log(result); 
    } 
});  

high_ryzyko_kraj阵列国家选择我想在calback功能result变量由4.

所以阿富汗在第一选择和波兰在第二选择递增会给我总8.我的需要稍后回调,所以我只是把它留在那里。

有没有办法修改我的第一个功能,它既服务于#country#country-bd

链接的jsfiddle:http://jsfiddle.net/szymondzumak/TCx6L/1/

+4

你应该看看[多重选择器( “selector1,选择器2,选择器N”)](https://api.jquery.com/多重选择器/) – Satpal

回答

1
  1. 增加了新的选择。
  2. 在变更回调之外声明的评分变量。
  3. 当数值在数组中不匹配时,arr将为-1。

试试这个,

var high_ryzyko_kraj = ['Polska', 'Afganistan', 'Ukraina']; 

$(function(){ 
    var scoring = 0; 
    $('#country, #country-bd').change(function(){ 
     caunt = $(this).val(); 
      var arr = $.inArray(caunt, high_ryzyko_kraj) 
      if (arr>-1){ 
       scoring += 4 ; 
       clback(); 
      } 
     }); 

    function clback(){ 
    result = scoring 
     console.log(result); 
    } 
});  

DEMO

+0

是的,这绝对适合我!非常酷的感谢! –

1

试试这个:

$('#country, #country-bd').change(function()... 
+0

关闭,但单凭这一改变无法解决问题。感谢您的输入:) –

相关问题