Javascript 选择框getID
我正在尝试获取一个选择框的选择id,但是我不知道,有人能帮我吗 选择框的代码: 编辑的选择框代码:Javascript 选择框getID,javascript,php,Javascript,Php,我正在尝试获取一个选择框的选择id,但是我不知道,有人能帮我吗 选择框的代码: 编辑的选择框代码: <li class="fields"> <div> <div class="field"> <div class="form-group"> <label class=
<li class="fields">
<div>
<div class="field">
<div class="form-group">
<label class="required" for="type_id"><?php echo $this->__('Occasion') ?><em>*</em></label>
<div class="input-box">
<select id="type_id" name="type_id" title="<?php echo $this->__('Occasion') ?>" class="validate-select form-control" onChange="criaDados(), showId(<?php $this->getId() ?>)" <?php if (!is_null ($_e->getId())) { echo "style='display: none;'"; } ?> >
<option value=""><?php echo $this->__('Please select occasion') ?></option>
<?php foreach($_e->getTypes() as $k=>$v):?>
<option value="<?php echo $k ?>" <?php if($_e->getTypeId() == $k) echo 'selected'?>><?php echo $this->htmlEscape($v) ?></option>
<?php endforeach; ?>
</select>
<input type="text" value="<?php echo $_e->getTypes()[$_e->getTypeId()] ?>" class="form-control" disabled <?php if (is_null ($_e->getId())) { echo "style='display: none;'"; } ?> />
</div>
</div>
</div>
<div class="field">
<div class="form-group">
<label class="required" for="date"><?php echo $this->__('Date') ?><em>*</em></label>
<div class="input-box">
<div class="input-range input-date">
<?php echo $this->getDateInput($_e->getDate()) ?>
</div>
</div>
</div>
</div>
</div>
</li>
如果要获取所选项目的id,请在select中添加一个
onchange
事件
比如onchange=“showid(this)”
然后是javascript
function showid(ids) {
console.log(ids[ids.selectedIndex].value); // get value
console.log(ids[ids.selectedIndex].id); // get id
}
如果您想要jquery解决方案,请执行以下操作
$('#type_id').change(function(){
alert($(this).find('option:selected').attr('id'));
});
<div class="field">
<div class="form-group">
<label class="required" for="type_id"><?php echo $this->__('Occasion') ?><em>*</em></label>
<div class="input-box">
<select id="type_id" name="type_id" title="<?php echo $this->__('Occasion') ?>" class="validate-select form-control" onChange="criaDados(), showId('this.id') { echo "style='display: none;'"; } ?> >
<option value=""><?php echo $this->__('Please select occasion') ?></option>
<?php foreach($_e->getTypes() as $k=>$v):?>
<option value="<?php echo $k ?>" <?php if($_e->getTypeId() == $k) echo 'selected'?>><?php echo $this->htmlEscape($v) ?></option>
<?php endforeach; ?>
</select>
<input type="text" value="<?php echo $_e->getTypes()[$_e->getTypeId()] ?>" class="form-control" disabled <?php if (is_null ($_e->getId())) { echo "style='display: none;'"; } ?> />
</div>
</div>
</div>
我看到您使用了引导,所以jQuery已经不远了。 这个怎么样:
function showId(id){
var v = $("#" + id).val();
alert(v);
}
或者像这样:
$( "#"+id+" option:selected" ).text();
第二个获取所选文本,另一个获取所选选项的所选值。您可以使用如下所示的this.id替换函数参数中的内容
$('#type_id').change(function(){
alert($(this).find('option:selected').attr('id'));
});
<div class="field">
<div class="form-group">
<label class="required" for="type_id"><?php echo $this->__('Occasion') ?><em>*</em></label>
<div class="input-box">
<select id="type_id" name="type_id" title="<?php echo $this->__('Occasion') ?>" class="validate-select form-control" onChange="criaDados(), showId('this.id') { echo "style='display: none;'"; } ?> >
<option value=""><?php echo $this->__('Please select occasion') ?></option>
<?php foreach($_e->getTypes() as $k=>$v):?>
<option value="<?php echo $k ?>" <?php if($_e->getTypeId() == $k) echo 'selected'?>><?php echo $this->htmlEscape($v) ?></option>
<?php endforeach; ?>
</select>
<input type="text" value="<?php echo $_e->getTypes()[$_e->getTypeId()] ?>" class="form-control" disabled <?php if (is_null ($_e->getId())) { echo "style='display: none;'"; } ?> />
</div>
</div>
</div>
不知道你说的“获取”是什么意思,但我猜是JavaScript
document.getElementById('type-id');
showId(document.getElementById('type-id'));
如果您需要所选框的值,可以用showId(this.value)替换showId()”,这里有语法错误value=”“在输入标记中,我认为提问者试图找到所选项目的id。如果我错了,请纠正我,如果我对了,那么他是如何从您的代码中获取id的?我没有拒绝投票,但出于好奇,我可以问为什么不再回答吗?您好,无法运行事件并在我的警报中查看id()将编辑的代码放在那里@HelderRocha您不能一次对一个事件调用两个函数,但您可以做的是,如果需要,您可以从第一个函数内部调用第二个函数