2014-03-17 6 views
0

В моем файле представления CakePHP, у меня есть два элементаИзвлечение строки между HTML-теги

echo $this->Form->create('Shift', array('id' => 'myform')); 
echo $this->Form->input('user_id', array('id' => 'my_user_id', 'type'=>'text')); 

и некоторые Javascript, что подтверждает то для пользователя.

<?php echo $this->Html->scriptBlock(' 
$(document).ready(function() { 
$("#myform").submit(function(event) { 
    alert("Creating shift for " + $("#my_user_id").val()); 
}); 
}); 
'); 
?> 

Так что, если мой HTML выглядит следующим образом:

<div class="input select required"> 
<label for="my_user_id">User</label> 
<select name="data[Shift][user_id]" id="my_user_id" required="required"> 
<option value="1">john doe</option> 
<option value="2">john johnson</option> 

, как я могу получить доступ к значениям между опцией тегов? Как, например, «john doe» и «john johnson»?

+2

ли Вы хотите сделать это с JavaScript или PHP? –

ответ

1

Вы можете получить text из option с помощью each() на опции

$("#my_user_id option").each(function(){ 
    alert($(this).text()); 
}); 

Если вы хотите, выделенный текст, то используйте параметр: выбранный

$("#my_user_id option:selected").text() 
0

Используя карту, чтобы получить массив всех текстов:

Live Demo

var texts = $("#my_user_id option").map(function() { 
    return $(this).text(); 
}).get(); 

или просто текст выбранной опции:

var text = $("#my_user_id option:selected").text(); 
Смежные вопросы