Module: Taka::DOM::HTML::SelectElement

Includes:
FieldSetElement
Defined in:
lib/taka/dom/html/select_element.rb

Instance Method Summary collapse

Methods included from FieldSetElement

#form

Instance Method Details

#add(option, before = nil) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/taka/dom/html/select_element.rb', line 56

def add option, before = nil
  if before
    before.add_previous_sibling option
  else
    add_child option
  end
end

#blurObject



49
50
# File 'lib/taka/dom/html/select_element.rb', line 49

def blur
end

#focusObject



46
47
# File 'lib/taka/dom/html/select_element.rb', line 46

def focus
end

#lengthObject



34
35
36
# File 'lib/taka/dom/html/select_element.rb', line 34

def length
  options.length
end

#nameObject



7
8
9
# File 'lib/taka/dom/html/select_element.rb', line 7

def name
  self['name']
end

#optionsObject



11
12
13
# File 'lib/taka/dom/html/select_element.rb', line 11

def options
  xpath('.//option')
end

#remove(index) ⇒ Object



52
53
54
# File 'lib/taka/dom/html/select_element.rb', line 52

def remove index
  (option = options[index]) && option.unlink
end

#selectedIndexObject



20
21
22
23
24
25
# File 'lib/taka/dom/html/select_element.rb', line 20

def selectedIndex
  options.each_with_index do |option, i|
    return i if option.selected
  end
  -1
end

#sizeObject



38
39
40
# File 'lib/taka/dom/html/select_element.rb', line 38

def size
  (self['size'] || 1).to_i
end

#tabIndexObject



42
43
44
# File 'lib/taka/dom/html/select_element.rb', line 42

def tabIndex
  (self['tabindex'] || 0).to_i
end

#typeObject



15
16
17
18
# File 'lib/taka/dom/html/select_element.rb', line 15

def type
  return 'select-multiple' if self['multiple']
  self['type']
end

#valueObject



27
28
29
30
31
32
# File 'lib/taka/dom/html/select_element.rb', line 27

def value
  options.each do |option|
    return option.value if option.selected
  end
  options.first.value
end