Когда я добавляю параметры для нового продукта, есть селектор, который должен использоваться для выбора необходимых мне параметров. Но все доступные параметры требуются и должны быть видимыми без использования селектора. Как я могу добавить для каждой опции опции option_id, не используя селектор?как загрузить все опции в селектор без выбора
HTML.file
<div class="ms-options">
<p class="error" id="error_options"></p>
<div class="options"></div>
<div>
<select name="options[0]" class="select_option">
<option value="0" disabled="disabled" selected="selected"><?php echo $ms_options_add; ?></option>
<?php foreach($options as $option) { ?>
<option value="<?php echo $option['option_id']?>"><?php echo $option['name']; ?></option>
<?php } ?>
</select>
</div>
</div>
JS.file
// add
$('body').delegate(".select_option", "change", function() {
$(this).children(':selected').attr('disabled', 'disabled');
var option_id = $(this).children(':selected').val();
var select = this;
$.get($('base').attr('href') + 'index.php?route=seller/account-product/jxRenderOptionValues&option_id=' + option_id, function(data) {
var lastRow = $(select).parents('.ms-options').find('.option:last input:last').attr('name');
if (typeof lastRow == "undefined") {
var newRowNum = 1;
} else {
var newRowNum = parseInt(lastRow.match(/[0-9]+/g).shift()) + 1;
}
var data = $(data);
data.find('input,select').attr('name', function(i,name) {
if (name) return name.replace('product_option[0]','product_option[' + newRowNum + ']');
});
$('div.options').append(data);
});
$(this).val(0);
});
пожалуйста HLP
моя попытка
html.file
<div class="ms-options">
<p class="error" id="error_options"></p>
<div>
<?php foreach($options as $option) { ?>
<div id="<?php echo $option['option_id']?>"></div>
<?php echo addoption($option['option_id'])?>
<?php } ?>
</div>
</div>
js.file
$(function() {
function addoption(optionid) {
var option_id = optionid;
$.get($('base').attr('href') + 'index.php?route=seller/account-product/jxRenderOptionValues&option_id=' + option_id, function(data) {
$('div'."optionid").append(data);
});
});
});
, но я получил это сообщение
Фатальная ошибка: Вызов неопределенной функции addoption() в/главная/moidomki/public_html/каталог/вид/темы/по умолчанию/template/multiseller/account-product-form-options.tpl в строке 9
похоже, что он не может видеть мою функцию?
Я не понимаю, что вы имеете в виду. У вас не может быть '
@Barmar, он хочет добавить опцию к выбору без обращения к выбору через его селектор. Это, вероятно, домашнее задание, и учитель, вероятно, хотел, чтобы они использовали $ (this) вместо селектора внутри функции, переданной делегату. Я тщательно ответил на вопрос, чтобы указать, как не использовать селектор, но не принимая все удовольствия от op. –
Lajos Arpad, спасибо вам за ответ! Я полагаю, что в форме нового продукта есть селектор, и все опции должны быть выбраны для того, чтобы быть доступными. Но, по правде говоря, все эти параметры требуются и должны отображаться заранее и в специальном порядке. Поэтому я хочу получить все эти варианты и называть их по одному. Это не учитель дал мне работу. Я учусь, и мне некому спросить, что здесь не так. –