2017-03-09 6 views
0

私は複数の選択ボックスにプラグインを使用しています。理論的には、この質問はオプション付きの他のプラグインにも適用されます。 プラグインにはいくつかのオプション、言語文字列があります。言語に基づいたオプションのセットを作成したいと思います - この場合は<html lang="">属性にあります。プラグインオプション - 複数のオプションセットの作成方法

私はこれを試してみました:

var multipleSelectLang = function() { 
    var da = { 
     placeholder: 'V&aelig;lg flere...', 
     selectAllText: 'V&aelig;lg alle', 
     width: '100%' 
    }; 
    var en = { 
     placeholder: 'Select multiple...', 
     width: '100%' 
    }; 
    return ($('html:lang(en)')) ? en : da; 
}; 
$('select[multiple]').multipleSelect(multipleSelectLang()); 

ので<html lang="en">または<html lang="da">に応じて、それが対応するオプションでプラグインを実行する必要があります。 のように、言語が"da"に設定されていても英語オプションが表示されます。

私の質問が意味をなさないことを願っています。どんなアイデアが間違っている?

$('html').attr("lang", "da"); 
 
// Multiple select functions - work fine. 
 
// $('select[multiple]').multipleSelect({ 
 
// placeholder: "V&aelig;lg flere...", 
 
// selectAllText: 'V&aelig;lg alle', 
 
// width: '100%' 
 
// }); 
 
var multipleSelectLang = function() { 
 
    var da = { 
 
    placeholder: 'V&aelig;lg flere...', 
 
    selectAllText: 'V&aelig;lg alle', 
 
    width: '100%' 
 
    }; 
 
    var en = { 
 
    placeholder: 'Select multiple...', 
 
    width: '100%' 
 
    }; 
 
    return ($('html:lang(en)')) ? en : da; 
 
}; 
 
$('select[multiple]').multipleSelect(multipleSelectLang());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/multiple-select/1.2.0/multiple-select.js"></script> 
 
<select multiple="multiple"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>3</option> 
 
    <option>4</option> 
 
    <option>5</option> 
 
</select>

+0

あなたは '$( 'HTML:LANG(EN)は')を実行することができます'ブラウザツールで、結果はオブジェクト、ノーブール値です。私はプラグインに慣れていないので、ブーリアンテストの代わりに '$( 'html:lang(en)')。length> 0'をテストするのでしょうか? – Gunnar

+0

http://stackoverflow.com/questions/5031531/javascript-reading-lang-attribute-in-html-tag – mplungjan

答えて

0

おそらくあなたは、このことを意味?

$('html').attr("lang", "da"); 
 
// Multiple select functions - work fine. 
 
// $('select[multiple]').multipleSelect({ 
 
// placeholder: "V&aelig;lg flere...", 
 
// selectAllText: 'V&aelig;lg alle', 
 
// width: '100%' 
 
// }); 
 
var multipleSelectLang = { 
 
    da: { 
 
    placeholder: 'V&aelig;lg flere...', 
 
    selectAllText: 'V&aelig;lg alle', 
 
    width: '100%' 
 
    }, 
 
    en: { 
 
    placeholder: 'Select multiple...', 
 
    width: '100%' 
 
    } 
 
} 
 
$('select[multiple]').multipleSelect(multipleSelectLang[$("html").attr("lang")||"en"]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/multiple-select/1.2.0/multiple-select.js"></script> 
 
<select multiple="multiple"> 
 
    <option>1</option> 
 
    <option>2</option> 
 
    <option>3</option> 
 
    <option>4</option> 
 
    <option>5</option> 
 
</select>

+0

これは素晴らしいことです。できます。どうもありがとう。 – Meek

+0

Du velkeommmen .... – mplungjan

関連する問題