HTML - MOOTOOLS - добавить опцию, чтобы выбрать поле в ie6 - PullRequest
2 голосов
/ 29 сентября 2010
<select id="selectId">
 <option>Please select product ...</option>
</select>

Я пытаюсь использовать Firefox, и он работает

$('selectId').innertHTML = '<option>Test test</option>'

, но, например, он не работает, как добавить параметр с помощью строкового параметра, как указано выше, например,

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

Вместо этого используйте класс Element:

new Element('option', {
    text: 'test option'
}).inject($('selectId'));​

Пример: http://www.jsfiddle.net/EJH5b/

0 голосов
/ 29 сентября 2010

Если вы собираетесь использовать Mootools, тогда вам действительно следует использовать методы Mootools, а не переключаться между ним и ванильным Javascript. Одним из преимуществ этого является то, что Mootools уже позаботится о несоответствиях браузера для вас. Поэтому, если вы игнорируете его методы, вам придется позаботиться о них самостоятельно.

Чтобы получить доступ к свойствам элемента способом Mootools, вы можете использовать методы set и get для любого элемента. Функция dollar ($) возвращает элемент, поэтому вы можете просто установить цепочку и перейти к ней.

//returns selectId's HTML
var foo = $('selectId').get('html'); 

//Sets the HTML of selectId to <option>Test test</option>
$('selectId').set('html', '<option>Test test</option>'); //

В этом случае вам просто нужно использовать set.

Одна вещь, о которой вы должны знать, это то, что она не добавляет опцию в блок выбора, а вместо этого заменяет все внутри блока выбора опцией. Следовательно, если вы хотите использовать это для добавления нескольких параметров в поле выбора, оно не будет работать, поскольку вы каждый раз сбрасываете HTML. Не имеет смысла иметь поле выбора, которое имеет только одну опцию, поэтому я предполагаю, что вы пытаетесь добавить опцию, а не заменять все опцией. В этом случае сделайте следующее:

//get the current options selectId's options
var options = $('selectId').get('html'); 

//Add your own option onto the end
options = options + '<option>Test test</option>';

//Set the HTML of selectId to whatever is stored in options
$('selectId').set('html', options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...