SelectBox getID

时间:2015-02-02 10:53:13

标签: javascript php

我正在尝试选择一个选择框的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);
    }

4 个答案:

答案 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();

第二个获取所选文本,另一个获取所选选项的选定值。