2015-07-23 3 views
0

Я хотел бы выбрать текстовое поле (только), где name = "something" и id = "somethingElse". Я не могу получить селектор (searchByIDandNameCriteria) правильно. Это все (не есть) множественный селектор:JQuery Select На основе нескольких атрибутов

function setItemValue(type) 
{ 
    var searchByIDandNameCriteria = "[id='" + itemNum + "'][name='" + type + "']"; 

    // example searchByIDandNameCriteria = "[id='12345'][name='case']" 

    var valueToChange = $(searchByIDandNameCriteria).val(); 
} 
+5

'id's должен быть уникальным для каждого элемента на документе, так что выбор на' id' только должно быть достаточно. Почему вы также хотите включить «имя»? – GillesC

+0

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

+0

У меня есть два текстовых поля для каждого элемента в инвентаре, который теперь идентифицируется с номером инвентаря как идентификатор (два из них) и тип (флакон или футляр) в качестве атрибута имени, и я надеялся отправить параметры прямо в AJAX вызов. Нет biggie, спасибо ребятам – Wes

ответ

0

идентификаторы элементов должны быть уникальными на странице, так что все, что вы пытаетесь с выбором имени не имеет значения, как вы можете выбрать элемент по его Я БЫ. Если ваш идентификатор не уникален, вам нужно будет изменить свой html или вы не сможете правильно выбрать эти элементы.

Если вы хотите выбрать несколько элементов, дать им класс, например (классы могут быть общими для нескольких элементов) и выбрать элементы с

$('.elementsClass') 
0

Вы должны пройти два параметра в функции

  1. для типа
  2. для ид

    function setItemValue(type, itemNum){ 
    
        var searchByIDandNameCriteria = "input[id='" + itemNum + "'][name='" + type + "']"; 
    
        // example searchByIDandNameCriteria = "[id='12345'][name='case']" 
    
    var valueToChange = $(searchByIDandNameCriteria).val(); 
    
    } 
    
Смежные вопросы