установка класса идентификатора на основе входного значения - PullRequest
0 голосов
/ 04 июля 2011
$(function(){

    if ($('#videoId').val){

    var thisid = $('#videoId').val; 
    $("#videolist li[id$='vid-"+thisid+"]").addClass('selected');
    }
});

.

<ul id="videolist">
    <li id="vid-28">Option</li>
    <li id="vid-29">Another Option</li>
    <li id="vid-30">Third Option</li>
</ul>

http://jsfiddle.net/Qdzn2/5/

Я хочу, чтобы li с идентификатором, который соответствует значению ввода, был назначен «выбранному» классу.

Код закомментирован прямо сейчас, потому что он вызывает бесконечный цикл, но также, когда я отслеживаю свою переменную thisid, он получает очень длинное значение, похожее на код jquery ... У меня есть 'значение', работающее в другом месте, поэтому я не знать, что вызывает это.

Ответы [ 3 ]

3 голосов
/ 04 июля 2011

Вам нужно только это:

$(function(){
    $("#vid-" + $('#videoId').val()).addClass('selected');
});
2 голосов
/ 04 июля 2011

Вы должны позвонить val(), а не val. Опуская скобки, вы фактически ссылаетесь на функцию вместо ее вызова. То, что вы предупреждаете, является источником функции val. :)

[править]

Кроме того, вы пропустили заключительную одинарную кавычку вокруг значения атрибута в селекторе vid-. Обновленная скрипка найдена здесь .

0 голосов
/ 04 июля 2011

Вы можете сделать что-то вроде этого:

$(function(){

if ($('#videoId').val()){

var thisId = $('#videoId').val();

$("#vid-"+thisId+"").addClass('selected');
}
});

скрипка: http://jsfiddle.net/Qdzn2/16/

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