Короткий ответ - вы не можете (проблема с веб-сайтом).
Но вы можете обмануть !!!
HTML:
<div style="position:relative">
<select multiple="multiple">
<option>Test 1</option>
<option>Test 2</option>
<option>Test 3</option>
<option>Test 4</option>
<option>Test 5</option>
<option>Test 6</option>
<option>Test 7</option>
<option>Test 8</option>
<option>Test 9</option>
<option>Test 10</option>
</select>
</div>
<br />
option position:<br />
Left: <span id="pos-x"></span><br />
Top: <span id="pos-y"></span>
CSS:
select
{
font-size:20px;
}
JQuery:
$(function()
{
$('select').change(function() {
var optionHeight = 20; // or get this value from the stylesheet or inline-style
var textIndent = 1; // best guess or work it out using coordinate crosshair tool
$('#pos-y').text((this.selectedIndex + 1) * optionHeight);
$('#pos-x').text(this.offsetLeft + textIndent);
});
});
Это быстрый и грязный раствор!
UPDATE
CSS:
select
{
height: 150px;
font-size: 20px;
}
JQuery:
$(function()
{
$('select').change(function() {
var fontSize = 20; // or get this value from the stylesheet or inline-style
var lineHeight = fontSize + 4 // need a better calculation here
var optionHeight = lineHeight;
var textIndent = 1; // best guess or work it out using coordinate crosshair tool
var top = (this.selectedIndex * optionHeight) - this.scrollTop;
$('#pos-y').text(top);
$('#pos-x').text(this.offsetLeft + textIndent);
});
});
Почему вы должны сделать это? – j08691
@ j08691 Потому что я позволяю пользователю добавлять параметры к уже определенному списку выбора. Я подумал, что было бы неплохо добавить текстовое поле над новым элементом опции, чтобы они могли ввести новое значение. Мой список выбора можно легко изменить на UL, но может быть немного больше работы, чем с помощью SELECT multiple = multiple – Jeff
Позиция Hmmm всегда для меня тоже очень странная! Вы могли бы делать то, что хотели в своем комментарии, без использования позиции, которая, вероятно, будет намного проще. – mattytommo