Как получить значениев jquery? - PullRequest
3 голосов
/ 11 ноября 2011

Привет, я пытаюсь получить значение p: selectOneMenu из jquery, но я пока не получил.Я использую JSF и Primefaces в качестве моего компонента пользовательского интерфейса.

    <p:selectOneMenu style="width:150px" id="skill"
                value="#{loginBean.skill}" required="true" immediate="true"
                requiredMessage="Select your skill" label="skill" styleClass="someClassName">
                <f:selectItem itemLabel="Select" itemValue=""></f:selectItem>
                <f:selectItem itemLabel="Other" itemValue="Other"></f:selectItem>
                <f:selectItems value="#{loginBean.skillList}" var="item"
                    itemLabel="#{item}" itemValue="#{item}"></f:selectItems>
            </p:selectOneMenu>

В HTML

<select id="skill_input" name="skill_input">
<option value="">Select</option>
<option value="Other">Other</option>
<option value="Tailoring">Tailoring</option>
<option value="Swimming">Swimming</option>
<option value="Roaming">Roaming</option>
</select>

, что я выбрал одно меню, мой JS ..

  var $element = $('.someClassName');

alert($element);

в окне предупреждения, которое я получил как [объект объекта], но не выбранное значение.

затем я попытался это сделать,

   var $element = $('.someClassName').val();

alert($element);

но теперь я получилпустое окно с предупреждением.

затем я попытался это сделать

 var $element = $("select[name='skill_input']:selected").val();

alert($element);

мое окно с предупреждением сообщает undefined

Что еще мне нужно сделать, чтобы получить выбранное значение в этом окне с предупреждением ..??

Ответы [ 4 ]

6 голосов
/ 11 ноября 2011

Попробуйте это

var $element = $("select[name='skill_input'] option:selected").val();

alert($element);
1 голос
/ 11 ноября 2011

Я действительно не использовал Jquery, но если вы хотите использовать простое решение javascript, которое работает, вы можете:

var selectedValue = document.getElementById("MyForm:skill").value

MyForm будет идентификатором формы, где компонент selectOneMenuможет быть найден.И skill, конечно, вы выбираете id одного меню.

0 голосов
/ 25 мая 2015

Определите widgetVar и получите значение с помощью инфраструктуры PrimeFace

<p:selectOneMenu widgetVar="foo" style="width:150px" id="skill"
    value="#{loginBean.skill}" required="true" immediate="true"
    requiredMessage="Select your skill" label="skill" styleClass="someClassName">
        <f:selectItem itemLabel="Select" itemValue=""></f:selectItem>
        <f:selectItem itemLabel="Other" itemValue="Other"></f:selectItem>
        <f:selectItems value="#{loginBean.skillList}" var="item"
                    itemLabel="#{item}" itemValue="#{item}">
        </f:selectItems>
</p:selectOneMenu>

// Call it in your JS
console.log(PF('foo').getSelectedValue());
0 голосов
/ 11 ноября 2011

вам нужно выбрать одну опцию, значение которой не является пустым, или установить значение первой опции на что-то вроде 'empty'

  • по умолчанию выбрана первая опция, и в вашем коде она имеет пустое значение - поэтому вы ничего не видите
...