1

動的に作成されたSelects(ドロップダウン)を含むWebページがあります。これは、シェルCGIスクリプトによって作成されたWebページです。

while read line; do  
  textBoxValue=`printf "$line" | cut -d'        ' -f1`
  comboBoxValue=`printf "$line" | cut -d'       ' -f2`

echo "  
  <div id="divId$start_id">
    <input type="text" name="newTexdtBox$start_id" id="newTextBox" value='$textBoxValue' /> 
    <select name="newComboBox$start_id" id="newComboBox" value="$comboBoxValue">
      <option disabled>pls select</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="9">all</option>
    </select>
    <a href='javascript:void(0)' onclick='return removeThisElement($start_id)'>Remove This</a> 
  </div>
  <a href='javascript:void(0)' onclick='return getSelects()'>getSelects</a>

  "

  start_id=$((start_id+1))
  count=$((count + 1))
done < my_conf

各Selectオブジェクトには、独自の属性value =$comboBoxValueがあります。この値属性を、ページの読み込み時に選択されたものとして設定したいと思います。推奨される解決策は(http://snipplr.com/view/67752/set-default-value-for-select-dropdown-lists-using-value-attribute/)ですが、this.getAttribute( "value"のため、機能しないようです。 )何も返しません。

value属性を使用してSelect(ドロップダウンリスト)のデフォルト値を設定するにはどうすればよいですか?

4

3 に答える 3

1

試す

<select name="newComboBox$start_id" id="newComboBox" value="$comboBoxValue">
      <option value="" selected='selected'>pls select</option>
      <option value="1">1</option>
于 2013-03-06T13:39:49.583 に答える
1

jQueryを使用して解決したい場合

$(function(){
    $('select[value]').each(function(){
        $('option[value="' + $(this).attr('value') + '"]', this).prop('selected', true);
    });
});

デモ:フィドル

ただし、最適な解決策は、htmlマークアップ自体を使用して解決することです。(私はcgiスクリプトを知りません)が、

<select name="newComboBox$start_id" id="newComboBox">
    <option disabled>pls select</option>
    <option #if ($comboBoxValue == 1) { selected="selected"} value="1">1</option>
    <option #if ($comboBoxValue == 2) { selected="selected"} value="2">2</option>
    <option #if ($comboBoxValue == 3) { selected="selected"} value="3">3</option>
    ....
</select>
于 2013-03-06T13:41:32.230 に答える
0

ソリューションhttp://snipplr.com/view/67752/set-default-value-for-select-dropdown-lists-using-value-attribute/は正しく機能していますが、シェルスクリプトから関数をレンダリングするときに\記号を忘れてしまいました( getAttribute(\ "value \"))。

これは正常に機能します(CGIシェルスクリプトからレンダリングする場合)。

\$(document).ready(function() {
  \$('select[value]').each(function(){  
    \$(this).val(this.getAttribute(\"value\"));        
  });                                                 
});
于 2013-03-06T14:35:04.793 に答える