【问题标题】:Dynamically Social-Engine form element addition onchange of a specific form element在特定表单元素更改时动态添加社交引擎表单元素
【发布时间】:2012-02-21 05:18:08
【问题描述】:

我是 SE 4.20 的新手。我在更改此表单元素时创建表单元素时遇到问题。

为了解释, 我有一个表格。我可以在更改此表单元素时返回一些选择选项值。但是现在我想在更改此元素时添加一个表单元素。

【问题讨论】:

    标签: php socialengine


    【解决方案1】:

    如果用户更改选择框,您想添加表单元素,如文本框?可能是这样的:

    $("#selectBoxId").change(function (){
        $("#formId").append("<input type='text' name='additionalFormElement' />");
    });
    

    【讨论】:

      【解决方案2】:

      这里是html:

      <div class="form-elements">
      <div id="typeName-wrapper" class="form-wrapper">
          <div id="typeName-label" class="form-label">
              <label for="typeName" class="required">Type</label>
          </div>
          <div id="typeName-element" class="form-element">
              <select name="typeName" id="typeName">
                  <option value="Grant">Grant</option>
                  <option value="Cooperative Agreements">Cooperative Agreements</option>
                  <option value="Publication">Publication</option>
              </select>
          </div>
      </div>
      <div id="resourceName-wrapper" class="form-wrapper">
          <div id="resourceName-label" class="form-label">
              <label for="resourceName" class="required">Name</label>
          </div>
          <div id="resourceName-element" class="form-element">
              <select name="resourceName" id="resourceName">
                  <option value="ABC">ABC</option>
                  <option value="XYZ">XYZ</option>
              </select>
          </div>
      </div>
      

      这里是mootool js:

       $('typeName').addEvent('change', function(event) {
              var typeName = $('typeName').value;
              var base_path = "<?php echo $this->baseUrl();?>/";
              var url = 'http://xxxxxxx.com/test/resource/getresourcebytype';
              var request= new Request.JSON({
                  url: url,
                  method: 'GET',
                  data: {"typeName":typeName},
                  onSuccess: function( response )
                  {
                      console.log(response);
                      //clear the select box
                      var name = $('resourceName');
                      while (name.firstChild) {
                          name.removeChild(name.firstChild);
                      }
                      //now add new option
                      for (var i = 0; i < response.length; i++){
                          console.log(response[i]);
                          new Element('option', {'value': response[i].value, 'text':response[i].label}).inject(name);
                      }
      
                  }, onFailure: function(){
      
                      console.log('failed');
                  }
              });
              request.send();
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多