Skip to content

Instantly share code, notes, and snippets.

@morhekil
Created June 8, 2009 10:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save morhekil/125751 to your computer and use it in GitHub Desktop.
Save morhekil/125751 to your computer and use it in GitHub Desktop.
<p class="required">
<label>Type:</label><br/>
<%= f.select :type, ProductOption::TYPES, {},
:onchange => update_page{ |page|
page << "if (this.value=='Choice') {"
# page.assign 'content', product_option_choice_options(ProductOption::Choice.new)
page.assign 'content', 'choice content'
# page << "} else if (this.value=='MoneyAmount') {"
# page.assign 'content', product_option_money_amount_options(ProductOption::MoneyAmount.new)
# page << "} else if (this.value=='Service') {"
# page.assign 'content', product_option_service_options(ProductOption::Service.new)
# page << "} else {"
# page.assign 'content', 'no content'
page << "};"
page << "var comments = this.up('div.option').select('.option-comment-field').collect(function(el){ return el.up('p');});"
page << "var validator = this.up('div.option').down('.option-validation-pattern-field').up('p');"
page << "if (this.value=='Service') {"
page << "comments.each(function(el){el.hide();});validator.hide();"
page << "} else {"
page << "comments.each(function(el){el.show();});validator.show();"
page << "}"
page << "this.up('div.option').select('p.options-container').each(function(element){"
page << "var name_name = element.up('div').down('input.option-name-field').name;"
page << "var lang_name = name_name.substr(name_name.length-9, 2);"
page << "element.update(content).select('input, select, textarea').each(function(input){"
page << "input.name = input.name.replace('][][', ']['+this.name.split('][')[1]+'][')"
page << ".replace('][en][', ']['+lang_name+'][');"
page << "}, this);"
page << "}, this);"
},
:disabled => !option.new_record? %>
</p>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment