2014-02-02 3 views
0

Я пытаюсь запустить некоторый код на основе опции выбора, но не по значению опции , но если это первый вариант или нет. это потому, что код будет использоваться глобально, а значения параметров будут разными в зависимости от того, на какой странице продукта находится пользователь. мой псевдо-код:Меню выбора опций, определить, выбрана ли 1-я опция, а не значение 1-й опции

if (the first option.select 'selected') { 
run some code; 
    } else { 
run some other code; 
} 

типичный выбор меню на этом проекте выглядит следующим образом:

<select name="id[1]" id="attrib-1"> 
    <option value="20" selected="selected">Please Select</option> 
    <option value="212" >Green</option> 
    <option value="208">Yellow</option> 
    <option value="210">Orange</option> 
    <option value="219">Pink</option> 
</select> 

благодаря Y'All!

ответ

2
var select = document.getElementById('attrib-1'); 

select.onchange = function() { 
    if (this.selectedIndex === 0) { 
     // run some code... 
    } else { 
     // run some other code... 
    } 
} 

Ссылка: HTMLSelectElement - Web API Interfaces | MDN

+0

Хорошо один. Возможно, вы захотите послушать событие «change». – undefined

+0

@BlackSheep Правда, но OP, вероятно, уже это делает. Будем добавлять. – rvighne

+0

это работает, за исключением того, что я не могу использовать идентификаторы, поскольку идентификаторы будут отличаться от страницы до страницы. – TopTomato

2
$(document).ready(function() { 
    $("#attrib-1").change(function() { 
     if ($("#attrib-1 > option:first").is(":selected")) { 
      alert("first"); 
     } else { 
      //do other stuff 
     } 
    }); 
}); 

http://jsfiddle.net/ergec/Mf62M/

или

$(document).ready(function() { 
    $("#attrib-1").change(function() { 
     if ($("#attrib-1").prop("selectedIndex") === 0) { 
      alert("first"); 
     } else { 
      //do other stuff 
     } 
    }); 
}); 
+0

Почему 'document.ready' обертка? OP не звучит как новичок :) – rvighne

+1

@rvighne эти ответы предназначены не только для OP, новичок может появиться из Google – Ergec

+0

Ну, следует отметить, что нет необходимости создавать объект, а затем использовать 'prop' для чтения свойства 'this.selectedIndex' имеет больше смысла. Также полезно использовать ключевое слово 'this' для _newbies_. – undefined

Смежные вопросы