jQuery Ddl Operations
by Annie Lagang
HTML
<select id="ExternalAccount_PaymentMethodCodeClone_VI"
name="DropDownListPaymentMethodCode">
<option value="ExternalAccount:VI-93459">My Visa (XX0605)</option>
<option value="ExternalAccount:TP-93462">My UATP (XX1867)</option>
<option value="ExternalAccount:MC-93460">My MasterCard (XX1001)</option>
<option value="ExternalAccount:TP-93463">My UATP (XX2593)</option>
<option value="ExternalAccount:VI-93464">My Visa (XX0605)</option>
<option value="ExternalAccount:VI">Visa</option>
<option value="ExternalAccount:MC">MasterCard</option>
<option value="ExternalAccount:TP">UATP</option>
<option value="ExternalAccount:BD">Payment Center - UAE - Al Rais Travel - Dubai</option>
</select>
<!--<select id="ExternalAccount_PaymentMethodCodeClone_VI"
name="DropDownListPaymentMethodCode">
<option value="VI-93459">My Visa (XX0605)</option>
<option value="TP-93462">My UATP (XX1867)</option>
<option value="MC-93460">My MasterCard (XX1001)</option>
<option value="TP-93463">My UATP (XX2593)</option>
<option value="VI-93464">My Visa (XX0605)</option>
<option value="VI">Visa</option>
<option value="MC">MasterCard</option>
<option value="TP">UATP</option>
<option value="BD">Payment Center - UAE - Al Rais Travel - Dubai</option>
</select>-->
JavaScript
$(function(){
var data = {
'foo': 'bar',
'foo2': 'baz'
}
// doesn;t start with VI
/*removeAllOptionsExcept("ExternalAccount_PaymentMethodCodeClone_VI", /^(?!VI)/, true, true, ':', 1);*/
// doesn't contain VI or MC
removeAllOptionsExcept("ExternalAccount_PaymentMethodCodeClone_VI", /^((?!VI|MC).)*$/, true);
});
/**** REMOVE OPTION BASED ON VALUE ****/
function removeBasedOnValue(id, value) {
$("#" + id + " > option[value='" + value + "']").remove();
}
/**** REMOVE OPTION BASED ON OPTION INDEX ****/
function removeBasedOnIndex(id, value) {
$("#" + id + " > option:eq(" + value + ")").remove();
}
/**** REMOVE OPTION CONTAINING SPECIFIC VALUE ****/
function removeBasedOnContainValue(id, value) {
$("#" + id + " > option:contains('" + value + "')").remove();
}
/**** REMOVE SELECTED INDEX ****/
function removeSelectedIndex(id) {
$("#" + id + " > option:selected").remove();
}
/**** REMOVE ALL OPTIONS ****/
function removeAllOptions(id) {
$("#" + id + " > option").remove();
}
// SOURCE: http://www.overpie.com/jquery/articles/jquery-remove-dropdownlist-or-combobox-options
/**** ADD OPTION ****/
function addOption(id, value, text, appendBefore) {
var ddl = $('#'+ id);
if(appendBefore) {
$("<option>", { value: value, text: text }).prependTo(ddl);
}
else {
$("<option>", { value: value, text: text }).appendTo(ddl);
}
}
/**** ADD MULTIPLE OPTIONS ****/
function addOptions(id, data, appendBefore) {
var ddl = $('#'+ id);
if(appendBefore) {
for(var val in data) {
$('<option>', {value: val, text: data[val]}).prependTo(ddl);
}
}
else {
for(var val in data) {
$('<option>', {value: val, text: data[val]}).appendTo(ddl);
}
}
}
/**** REMOVE ALL OPTIONS EXCEPT ****/
function removeAllOptionsExcept(id, pattern, getValue, isSplit, splitChar, splitPos) {
$("#" + id + " > option").filter(function() {
var...