Jquery - найти элемент select внутри родительского DIV - PullRequest
1 голос
/ 08 декабря 2009

У меня есть родительский Div:

<div id="ctl00_MainContentAreaPlaceHolder_deliveryOpen" class="delivery_open" style="display: block;">

//Child select Element
<select class="txtfield ckgcountry" id="ctl00_MainContentAreaPlaceHolder_DeliveryPersonalInformation_country" name="ctl00$MainContentAreaPlaceHolder$DeliveryPersonalInformation$country"> 
 <option value="DE">ALLEMAGNE</option>
 <option value="TF">TERRES AUSTRALES FR.</option>
 <option value="TH">THAILANDE</option>

</select>   

</div>

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

$j("div[id*='deliveryOpen'] > .txtfield ckgcountry").removeAttr('selected');

OR

$j(".delivery_open > .txtfield ckgcountry").removeAttr('selected');

Оба эти метода, похоже, не работают, что мне не хватает ?, а также, если есть лучший (более эффективный) способ добиться этого?

Дополнительная информация:

У меня есть 2 одинаковых элемента с одинаковыми именами (поскольку повторяется один пользовательский элемент управления). таким образом, я не могу напрямую получить доступ к элементу Select, мне нужно перейти из родительского DIV и найти элемент select внутри родительского DIV.

Ответы [ 2 ]

1 голос
/ 08 декабря 2009

Я думаю, что в ваших утверждениях есть синтаксическая ошибка - вы пытаетесь выбрать раскрывающийся список по классам, поэтому селектор должен быть .ckgcountry вместо ckgcountry. Кроме того, я не вижу элемента, который соответствовал бы .txtField, так что это могло бы также вызвать сбой.

Однако вы можете использовать это как селектор:

$("select[id$='DeliveryPersonalInformation_country']")

Я немного сбит с толку относительно того, что вы хотите сделать с этими removeAttr('selected'); как бы то ни было. Если вы хотите просто выбрать другую опцию, попробуйте:

$("select[id$='DeliveryPersonalInformation_country']").val("TF");
0 голосов
/ 08 декабря 2009

Следующее даст вам доступ к элементу <select> и позволит вам управлять его атрибутами. Например;

$j('.delivery_open > .txtfield.ckgcountry').attr('value', 'DE');

Или (я думаю, что это более безопасный вариант - основываясь на моем чувстве кишечника)

$('.delivery_open > .txtfield.ckgcountry').attr('selectedIndex', 2);

Не совсем уверен, что вам нужно делать с элементом <select>, поэтому приведенные выше примеры являются лишь руководством.

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