Рендеринг иерархии “ОПЦИИ” s в “ИЗБРАННОМ” теге

Приправление карри состоит в том при разрушении функции, которая берет несколько аргументов в серию функций, что каждый берет только один аргумент. Вот пример в JavaScript:

function add (a, b) {
  return a + b;
}

add(3, 4); // returns 7

Это - функция, которая берет два аргумента, a и b, и возвращает их сумму. Мы теперь приправим эту функцию карри:

function add (a) {
  return function (b) {
    return a + b;
  }
}

Это - функция, которая берет один аргумент, a, и возвращает функцию, которая берет другой аргумент, b, и что функция возвращает их сумму.

add(3)(4);

var add3 = add(3);

add3(4);

первый оператор возвращается 7, как добавление (3, 4) оператор. Второй оператор определяет новую функцию, вызванную add3, который добавит 3 к его аргументу. Это - то, что некоторые люди могут назвать закрытием. Третий оператор использует add3 операцию для добавления 3 - 4, снова производя 7 в результате.

18
задан Kara 15 January 2014 в 04:32
поделиться

3 ответа

способ обмана намного лучше и был моей первой идеей. В качестве альтернативы, если это не сработает, вы можете использовать неразрывные пробелы в значении тега:

<select>
    <option>select me</option>
    <option>&nbsp;me indented</option>
    <option>&nbsp;&nbsp;even more indentation</option>
</select>

Это далеко не красиво, но может сработать для вас, если optgroup этого не сделает.

20
ответ дан 30 November 2019 в 05:42
поделиться

Отображение элементов SELECT в значительной степени зависит от браузера, вы очень мало влияете на их представление. Некоторые браузеры, очевидно, позволяют больше настроек, чем другие, IE позволяет очень мало ( вздох , кто бы подумал;)). Если вам нужны очень индивидуальные элементы SELECT , вам нужно будет использовать JavaScript или воссоздать что-то, что ведет себя как SELECT , но состоит из группы DIV ] и флажки или что-то в этом роде.

Сказав это, я думаю, что вы ищете OPTGROUP s :

<select>
  <optgroup label="xxx">
    <option value="xxxx">xxxx</option>
    ....
  </optgroup>
  <optgroup label="yyy">
    ...
  </optgroup>
</select>

Каждый браузер отображает их по-разному, но они так или иначе будут отображаться в отличительной форме. Обратите внимание, что официально в HTML4 вы можете '

43
ответ дан 30 November 2019 в 05:42
поделиться

Разве это не метод группировка создает больше проблем, чем решает? Что я должен выбрать как пользователь? Есть ли какие-либо преимущества в выборе чего-то более конкретного, чем страна?

Если проблема в том, что у вас есть только одно поле базы данных для их хранения, почему бы не иметь три отдельных поля выбора (делая 2 или 3 необязательными) и просто хранить большинство конкретный?:

<select name="country">
    <option>Choose a country</option>
    <option>United States</option>
</select>
<select name="state">
    <option>Choose a state</option>
    <option>Hawaii</option>
</select>
<select name="city">
    <option>Choose a city</option>
    <option>Kauai</option>
</select>
2
ответ дан 30 November 2019 в 05:42
поделиться