尝试在下拉表单中将name作为参数传递

时间:2014-09-30 02:52:52

标签: php codeigniter

我有一个表单,我动态传递已经填充的事件数组的id。我现在需要传递一个名称,以便稍后可以抓取该名称存储在数据库中。

这不能通过$ attributes传递名称。因为当我检查选择后出现值的div元素时,它只显示元素表中事件的id。

 <?php
            if($user_events){
                //print_r($user_events);
            ?>
            <div class="row">
              <div class="col-md-12">
                <h3>Add Event To Location</h3>
                <div class="row">

                  <div class="row">
                  <div class="row">

                    <div id="myselect" class="col-md-12">
                        <p></p>

                      <div class="form-group col-xs-5 col-lg-3">
                      <?php 
                        //$user_events = '';
                        //print_r($user_events);
                        $ar=array();
                        foreach($user_events as $events) {
                            $ar[$events['id']] = $events['title'];
                            }
                      //endforeach;
                        ?>

                        <?php
                        $attributes = 'input type = “hidden” name="posted_event[]"';
                         //$attributes='';
                         echo form_dropdown('myselect', $ar, '',$attributes);    

                        ?> 

                    </div>
                  </div>
                </div>

              </div>
              </div>
              <?php    
              }
              ?>
              <button id="grab1" type="button" class="btn btn-default">Clear</button>
                      <hr/>
            </div>

基本上当我检查元素时,我需要看到这个

<input type = “hidden” name = “posted_event[]">

更新:

$attributes = '<input type = "hidden" name="posted_event[]">';

3 个答案:

答案 0 :(得分:0)

您正在使用form_dropdown作为下拉列表,如果您想要生成所需内容,则需要使用form_input()。

    $data = array(
                  'type'        => 'hidden',
                  'name'          => 'postedevent[]',
                );

echo form_input($data);

答案 1 :(得分:0)

您是否希望实施下拉菜单?你可以使用<select> <option></option> </select> ryt?。你有没有试过这种方法?

    <div class="form-group col-xs-5 col-lg-3">

<select id="yourid" name='name'>
     <?php 
                        //$user_events = '';
                        //print_r($user_events);
                        $ar=array();
                        foreach($user_events as $events) {

        ?>
<option value='<?php echo $events['id']; ?>'> <?php echo $events['title']; ?></option>

<?php
}
                      //endforeach;
                        ?>
</select>
</div>

答案 2 :(得分:0)

好的,几个小时后我现在有了确切的答案。 我希望通过参数传递隐藏的id和名称通过form_dropdown。这不起作用,所以我不得不将html附加到javascript中的id,如下所示:

标记

            <?php
            if($user_promos){
                print_r($user_promos);
            ?>
            <div class="row">
              <div class="col-md-12">
                <h3>Add Event To Location</h3>
                <div class="row">

                  <div class="row">
                  <div class="row">

                    <div id="myselect2" class="col-md-12">
                        <p></p>

                      <div class="form-group col-xs-5 col-lg-3">
                      <?php 
                        //$user_events = '';
                        //print_r($user_events);
                        $ar=array();
                        foreach($user_events as $events) {
                            $ar[$events['id']] = $events['title'];
                            }
                      //endforeach;
                        ?>

                        <?php
                        $attributes = '';
                         //$attributes='';
                         echo form_dropdown('myselect', $ar, '',$attributes);    

                        ?> 

                    </div>
                  </div>
                </div>

              </div>
              </div>
              <?php    
              }
              ?>

的Javascript

$(function() {
  $("#event").hide();
  $("#events").hide();
  $("#myselect select").change(function() {
    var $selected = $('#myselect select option:selected');
    if (!$selected.hasClass('added')) {
      $('<li />', {
        'data-value': $selected.val(),
         id:'a'+$selected.val(),
         text: $selected.text()
      }).appendTo('#events');
      $selected.addClass('added');
      $("#a"+$selected.val()).append('<input type="hidden" name="posted_event[]" value="'+$selected.text()+'">');
    }

    $("#event").show();
    $("#events").show();

  });
});

输出:

<li data-value="26" id="a26">Event title<input type="hidden" name="posted_event[]" value="Event title"></li>