Проблемы JQuery при установке значения выпадающего списка - PullRequest
0 голосов
/ 04 февраля 2011

У меня странная проблема. У меня есть выпадающий список, который содержит некоторые значения. Используя код JQuery, я пытаюсь установить один из вариантов в качестве выбранного:

$('.myform #company').val('10K');

Элементом компании является выпадающий список, и один из параметров в нем имеет значение 10 КБ. Если я попробую один и тот же код для другого значения в том же выпадающем списке, он будет работать нормально.

Я немного растерялся. Мне трудно думать, что именно строковое значение 10K является его причиной ...

Спасибо

<option value="">Select</option>
<option value="10K ">10k Filing</option>
<option value="501C">501c3 Filings</option>
<option value="F990">Form 990</option>

Ответы [ 4 ]

0 голосов
/ 05 февраля 2011

Удивило, что никто не указал на это, но значение этой опции имеет дополнительный пробел:

<option value="10K ">10k Filing</option>
0 голосов
/ 05 февраля 2011
    if($('#company').length){
        for (i = 0; i < document.getElementById('#company').options.length; i++) {
           if (document.getElementById('#company').options[i].value).toLowerCase() == '10k' {
                        document.getElementById('#company').selectedIndex = i;
                        break;
           }
        }
    }

Мне кажется, в этом сценарии проще использовать чистый javascript ... Существуют плагины jQuery, которые помогают при манипулировании с select box, но даже я, как большой поклонник jQuery, считаю, что это очень неразумно делать, когда вы можете выполнить эту задачу чистый JavaScript более эффективно и без необходимости загружать дополнительные библиотеки.

0 голосов
/ 05 февраля 2011

хорошо, javascript может выполнять преобразования xml, поэтому вы можете написать такое, которое сделает это за вас. Я немного заржавел на своем xslt, но это выглядело бы примерно так:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<Select>
<xsl:template match="/">
<xsl:for-each select="option">
<option value="<xsl:value-of select="catalog/cd/title"/>"><xsl:value-of select="catalog/cd/title"/> Filling</option>
</xsl:for-each>
</xsl:template>
</Select>

</xsl:stylesheet>

Так что это то, что вам нужно, вам, вероятно, придется поработать над этим немного больше, но вы поняли идею

0 голосов
/ 04 февраля 2011

Можете ли вы перечислить значения <option> для этого раскрывающегося списка?

Кстати, ваш селектор должен быть только $('#company')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...