我正在尝试选择一个选择框的ID,但无法混淆,有人可以帮助我吗?
Selectbox代码:
已编辑的SelectBox代码:
<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>
已编辑的Javascript
function showId(id)
{
var id_val = $("#" + id).val();
alert(id_val);
}
答案 0 :(得分:2)
如果您想获取所选项目的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'));
});
答案 1 :(得分:1)
您可以使用this.id替换function参数中的内容,如下所示
<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>
然后你可以使用它
function showId(id)
{
var id_val = $("#" + id).val();
alert(id_val);
}
答案 2 :(得分:0)
不确定你的意思&#39;得到&#39;但我猜猜JavaScript
document.getElementById('type-id');
showId(document.getElementById('type-id'));
答案 3 :(得分:-1)
我看到你使用Bootstrap,所以jQuery并不遥远。 怎么样:
function showId(id){
var v = $("#" + id).val();
alert(v);
}
或类似的东西:
$( "#"+id+" option:selected" ).text();
第二个获取所选文本,另一个获取所选选项的选定值。