我试图从视图中的下拉列表中显示所选值,而不是在控制器中显示。 这是我的manage.ctp代码。
<div class="tab-pane" id="tab9">
<?php echo $this->Form->create('Ticket'); ?>
<label class="col-md-3 control-label">Ticket Type</label>
<?php echo $this->Form->input('Ticket.type', array('options'=> array( "Free"=>"FREE TIcket","Paid Ticket"=>"Paid Ticket"),'label'=>false,'class'=>'form-control select','empty'=>'Select an event type','id'=>'sample','required'=>'required')); ?>
<br>
<label class="col-md-3 control-label">Ticket Name</label>
<?php echo $this->Form->input('Ticket.name',array('class'=>'form-control','id'=>'textfield','label'=>false,'placeholder'=>'Early Bird, RSVP, etc.','required'=>'required')); ?>
<br><label class="col-md-3 control-label">Ticket Quantity</label>
<?php echo $this->Form->input('Ticket.quantity',array('class'=>'form-control','id'=>'textfield','label'=>false,'required'=>'required')); ?>
<br>
<label class="col-md-3 control-label">Price</label>
<?php echo $this->Form->input('Ticket.price',array('class'=>'form-control','id'=>'textfield','label'=>false,'required'=>'required')); ?>
<br>
<?php echo $this->Form->submit(__('Add New Event', true), array('controller'=>'tickets','action'=>'add'),array('class'=>'btn btn-info active', 'style'=>'margin-bottom: 10px;','onclick'=>'GetSelectedItem()'));
echo $this->Form->end();
?>
</div>
这是我的javascript,但它没有用。
<script>
function GetSelectedItem()
{
var e = document.getElementById("sample");
var strSel = "The Value is: " + e.options[e.selectedIndex].value + " and text is: " + e.options[e.selectedIndex].text;
alert(strSel);
}
</script>
请帮帮我。
答案 0 :(得分:0)
尝试添加
var el = document.getElementById("sample");
el.addEventListener("change", GetSelectedItem, false);
到你的javascript。
修改强>
var div = document.getElementById("text");
var content = document.createTextNode(strSel);
div.innerHTML = '';
div.appendChild(content);
这会将所选文字写入
<div id="text"></div>
<强>参考强>
P.S。:您的onclick-handler将无法正常工作,因为在提交表单后,页面重新加载将触发,这会中止以下javascript的执行。