在html标记之间提取字符串

时间:2014-03-17 15:45:45

标签: javascript jquery html cakephp

在我的CakePHP视图文件中,我有两个元素

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 个答案:

答案 0 :(得分:1)

您可以在选项

上使用text获得option each()
$("#my_user_id option").each(function(){
   alert($(this).text());
});

如果您想要所选文字,请使用选项:已选择

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

答案 1 :(得分:0)

使用map获取所有文本的数组:

Live Demo

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

或仅包含所选选项的文字:

var text = $("#my_user_id option:selected").text();