JQuery и Select
Здравствуйте. Хочу сделать вывод определенного блока при выборе нужной строки в "select"
Есть такой скрипт: $(document).ready(function(){ $("select#category").change(function (){ if ($("#category option:selected").val() == "мой value"){ $("#trackershow").show(); } else { $("#trackershow").hide(); } }); }); Не могу сделать так, чтобы можно было вбить к примеру 5 моих "value". Я так понимаю, что нужно в "array" вбить через запятую и сделать поиск по массиву. Но к сожалению я пока новичок в этих вопросах. Могли бы Вы подсказать как реализовать данный скрипт. |
Цитата:
|
Цитата:
<script> $(document).ready(function(){ $("select#category").change(function (){ if ($("#category option:selected").val() == "99"){ $("#trackershow").show(); } else { $("#trackershow").hide(); } }); }); </script> <select name="catlist[]" id="category" onchange="onCategoryChange(this.value)" style="width:302px;height:22px"> <option style="color: black" value="11">Текст1</option> <option style="color: black" value="22">Текст2</option> <option style="color: black" value="33">Текст3</option> <option style="color: black" value="44">Текст4</option> <option style="color: black" value="55">Текст4</option> <option style="color: black" value="66">Текст6</option> <option style="color: black" value="77">Текст7</option> <option style="color: black" value="88">Текст8</option> <option style="color: black" value="99">Текст9</option> </select> <div id="trackershow" style="display:none">Любой контент</div> При выборе последней строки в "Select" ("Текст 9" которая), див отображается, при других вариантах див скрыт. Мне нужно в скрипт добавить несколько значений "value". Подскажите как это сделать? |
Пока что сделал через "else if", но в таком случае скрипт сильно длинный получается. Может возможно в "var" сбить все значения "value"? Незнаю только как написать это, чтобы работало :)
|
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> .container { display: none; } #category { width: 302px; height: 22px; } #category option { color: black; } </style> <script type="text/javascript"> $(document).ready(function(){ $("#category").click(function (){ var id=this.value; $("#container > div").hide(); $("#cn"+id).show(); }); }); </script> </head> <body> <select name="catlist[]" id="category"> <option></option> <option value="11">Текст1</option> <option value="22">Текст2</option> <option value="33">Текст3</option> <option value="44">Текст4</option> <option value="55">Текст5</option> <option value="66">Текст6</option> <option value="77">Текст7</option> <option value="88">Текст8</option> <option value="99">Текст9</option> </select> <div id="container"> <div id="cn11" class="container">Контент 11</div> <div id="cn22" class="container">Контент 22</div> <div id="cn33" class="container">Контент 33</div> <div id="cn44" class="container">Контент 44</div> <div id="cn55" class="container">Контент 55</div> <div id="cn66" class="container">Контент 66</div> <div id="cn77" class="container">Контент 77</div> <div id="cn88" class="container">Контент 88</div> <div id="cn99" class="container">Контент 99</div> </div> </body> </html> |
Немного меня не поняли. А вообще круто - для каждого "value" свой вывод. :) Но тут задача в чем? У меня есть кнопка "Добавить файл" и нужно, чтобы эта кнопка отображалась только при выборе категорий "Файлы, Видео, Музыка"
Так получится? <script src="http://code.jquery.com/jquery-latest.js"></script> <style type="text/css"> .container { display: none; } #category { width: 302px; height: 22px; } #category option { color: black; } </style> <script type="text/javascript"> $(document).ready(function(){ $("#category").click(function (){ var id=new Array("77, 88, 99"); $("#container > div").hide(); $("#cn"+id).show(); }); }); </script> <select name="catlist[]" id="category"> <option></option> <option value="11">Текст1</option> <option value="22">Текст2</option> <option value="33">Текст3</option> <option value="44">Текст4</option> <option value="55">Текст5</option> <option value="66">Текст6</option> <option value="77">Музыка</option> <option value="88">Видео</option> <option value="99">Файлы</option> </select> <div id="container"> <div id="cn11" class="container">Контент 11</div> </div> Такое чувство, что что-то тут неправильно ;) |
Цитата:
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> #container { display: none; } #category { width: 302px; height: 22px; } #category option { color: black; } </style> <script type="text/javascript"> $(document).ready(function(){ $("#category").click(function (){ var typ=this.options[this.selectedIndex].className; if (typ=='file') { $("#container").show(); } else { $("#container").hide(); }; }); }); </script> </head> <body> <select name="catlist[]" id="category"> <option></option> <option value="11">Текст1</option> <option value="22">Текст2</option> <option value="33">Текст3</option> <option value="44">Текст4</option> <option value="55">Текст5</option> <option value="66">Текст6</option> <option class='file' value="77">Музыка</option> <option class='file' value="88">Видео</option> <option class='file' value="99">Файлы</option> </select> <div id="container"> <button>Добавить файл</button> </div> </body> </html> |
Цитата:
Видимо я плохо расписал ситуацию - "намотаю на ус" на будущее :) К сожалению я немогу в "select" дописать классы только для нужных "option", так как этот селект ПХП скриптом генерируется. Могу отталкиваться только от значений "value" либо непосредственно от самого текста(например: "Музыка"). Есть идеи? Кстати спасибки за помощь :) |
Цитата:
|
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> #container { display: none; } #category { width: 302px; height: 22px; } #category option { color: black; } </style> <script type="text/javascript"> $(document).ready(function(){ $("#category").click(function (){ var typ={ 77: true, 88: true, 99: true } var val=this.value; if (typ[val]) { $("#container").show(); } else { $("#container").hide(); }; }); }); </script> </head> <body> <select name="catlist[]" id="category"> <option></option> <option value="11">Текст1</option> <option value="22">Текст2</option> <option value="33">Текст3</option> <option value="44">Текст4</option> <option value="55">Текст5</option> <option value="66">Текст6</option> <option class='file' value="77">Музыка</option> <option class='file' value="88">Видео</option> <option class='file' value="99">Файлы</option> </select> <div id="container"> <button>Добавить файл</button> </div> </body> </html> |
Часовой пояс GMT +3, время: 17:23. |