使用Jquery删除选择选项

时间:2014-09-30 07:53:44

标签: javascript jquery

我有以下网页,其中包含国家/地区下拉菜单,我需要删除OFAC国家/地区。

https://sk199.infusionsoft.com/app/orderForms/VUM-Monthly

我似乎无法找出用于删除选项的正确jQuery。如果单击信用卡按钮然后刷新页面,则以下代码有效:

    <script type="text/javascript">
    jQuery(document).ready(function() {

    function modifyContries(country) {
    sel1 = document.forms.orderForm.country;

    len1 = sel1.options.length;
    for (i=0;i<len1 ;i++ )
    {
    if (sel1.options[i].value == country)
    {
    sel1.options[i] = null;
    //or
    //sel1.remove(i);
    break;
    }
    }
    }
    modifyContries("Iran");
    modifyContries("Iraq");
    modifyContries("Libya");
    modifyContries("North Korea");
    modifyContries("Côte D'Ivoire");
    modifyContries("Congo");
    modifyContries("Liberia");
    modifyContries("Sudan");
    modifyContries("Syria");
    modifyContries("Zimbabwe");
    });
    </script>

我确实尝试更改按钮的更改(),但这似乎根本没有。

    <script type="text/javascript">
    jQuery('#checkoutWithCreditCardLink').change(function(){         
    function modifyContries(country) {
    sel1 = document.forms.orderForm.country;

     len1 =sel1.options.length;
     for (i=0;i<len1 ;i++ )
     {
     if (sel1.options[i].value == country)
     {
     sel1.options[i] = null;
     //or
     //sel1.remove(i);
     break;
     }
     }
    }
    modifyContries("Iran");
    modifyContries("Iraq");
    modifyContries("Libya");
    modifyContries("North Korea");
    modifyContries("Côte D'Ivoire");
    modifyContries("Congo");
    modifyContries("Liberia");
    modifyContries("Sudan");
    modifyContries("Syria");
    modifyContries("Zimbabwe");
    });
    </script>

我还应该提到这是一个托管表单,我只能在正文的某些部分添加脚本标记,没有任何内容。当没有按钮切换支付信息块时,我可以使这项工作。

我需要一种方法来确保移除OFAC国家,TIA!

2 个答案:

答案 0 :(得分:0)

你应该能够更简洁地选择国家,如下:

$("select#country option[value='CountryX']").remove();

这是jQuery for&#34;删除<option> s中所有<select>的id =&#39; country&#39; (视情况而定),其中value = 'CountryX'

<强>更新

您应将上述内容置于适当的处理程序中 - 例如

$("a#checkoutWithCreditCardLinkPreview").click(function() {
    ...
});

答案 1 :(得分:0)

示例:

<html>
<head>
    <title>Remove option values</title>
</head>
<body>
    <select class="regula-validation checkout" data-constraints="@Required(label=&quot;Billing Country&quot;, groups=[customer])" data-on="Component.Select" id="country" name="country">
        <option value="">Please select one</option>
        <option value="Afghanistan">Afghanistan</option>
        <option value="Albania">Albania</option>
        <option value="Algeria">Algeria</option>
        <option value="American Samoa">American Samoa</option>
        <option value="Andorra">Andorra</option>
        <option value="Angola">Angola</option>
        <option value="Anguilla">Anguilla</option>
        <option value="Antarctica">Antarctica</option>
        <option value="Antigua and Barbuda">Antigua and Barbuda</option>
        <option value="Argentina">Argentina</option>
        <option value="Armenia">Armenia</option>
        <option value="Aruba">Aruba</option>
        <option selected="selected" value="Australia">Australia</option>
        <option value="Austria">Austria</option>
        <option value="Åland Islands">Åland Islands</option>
        <option value="Azerbaijan">Azerbaijan</option>
        <option value="Bahamas">Bahamas</option>
        <option value="Bahrain">Bahrain</option>
        <option value="Bangladesh">Bangladesh</option>
        <option value="Barbados">Barbados</option>
        <option value="Belarus">Belarus</option>
        <option value="Belgium">Belgium</option>
        <option value="Belize">Belize</option>
        <option value="Benin">Benin</option>
        <option value="Bermuda">Bermuda</option>
        <option value="Bhutan">Bhutan</option>
        <option value="Bolivia">Bolivia</option>
        <option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
        <option value="Botswana">Botswana</option>
        <option value="Bouvet Island">Bouvet Island</option>
        <option value="Brazil">Brazil</option>
        <option value="British Indian Ocean Territory">British Indian Ocean Territory</option>
        <option value="Brunei Darussalam">Brunei Darussalam</option>
        <option value="Bulgaria">Bulgaria</option>
        <option value="Burkina Faso">Burkina Faso</option>
        <option value="Burundi">Burundi</option>
        <option value="Cambodia">Cambodia</option>
        <option value="Cameroon">Cameroon</option>
        <option value="Canada">Canada</option>
        <option value="Cape Verde">Cape Verde</option>
        <option value="Cayman Islands">Cayman Islands</option>
        <option value="Central African Republic">Central African Republic</option>
        <option value="Chad">Chad</option>
        <option value="Chile">Chile</option>
        <option value="China">China</option>
        <option value="Christmas Island">Christmas Island</option>
        <option value="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option>
        <option value="Colombia">Colombia</option>
        <option value="Comoros">Comoros</option>
        <option value="Democratic Republic Of Congo">Democratic Republic Of Congo</option>
        <option value="Cook Islands">Cook Islands</option>
        <option value="Costa Rica">Costa Rica</option>
        <option value="Croatia">Croatia</option>
        <option value="Cuba">Cuba</option>
        <option value="Cyprus">Cyprus</option>
        <option value="Czech Republic">Czech Republic</option>
        <option value="Denmark">Denmark</option>
        <option value="Djibouti">Djibouti</option>
        <option value="Dominica">Dominica</option>
        <option value="Dominican Republic">Dominican Republic</option>
        <option value="Ecuador">Ecuador</option>
        <option value="Egypt">Egypt</option>
        <option value="El Salvador">El Salvador</option>
        <option value="Equatorial Guinea">Equatorial Guinea</option>
        <option value="Eritrea">Eritrea</option>
        <option value="Estonia">Estonia</option>
        <option value="Ethiopia">Ethiopia</option>
        <option value="Falkland Islands">Falkland Islands</option>
        <option value="Faroe Islands">Faroe Islands</option>
        <option value="Fiji">Fiji</option>
        <option value="Finland">Finland</option>
        <option value="France">France</option>
        <option value="French Guiana">French Guiana</option>
        <option value="French Polynesia">French Polynesia</option>
        <option value="French Southern Territories">French Southern Territories</option>
        <option value="Gabon">Gabon</option>
        <option value="Gambia">Gambia</option>
        <option value="Georgia">Georgia</option>
        <option value="Germany">Germany</option>
        <option value="Ghana">Ghana</option>
        <option value="Gibraltar">Gibraltar</option>
        <option value="Greece">Greece</option>
        <option value="Greenland">Greenland</option>
        <option value="Grenada">Grenada</option>
        <option value="Guadeloupe">Guadeloupe</option>
        <option value="Guam">Guam</option>
        <option value="Guatemala">Guatemala</option>
        <option value="Guernsey">Guernsey</option>
        <option value="Guinea">Guinea</option>
        <option value="Guinea-Bissau">Guinea-Bissau</option>
        <option value="Guyana">Guyana</option>
        <option value="Haiti">Haiti</option>
        <option value="Heard and McDonald Islands">Heard and McDonald Islands</option>
        <option value="Holy See (Vatican City State)">Holy See (Vatican City State)</option>
        <option value="Honduras">Honduras</option>
        <option value="Hong Kong">Hong Kong</option>
        <option value="Hungary">Hungary</option>
        <option value="Iceland">Iceland</option>
        <option value="India">India</option>
        <option value="Indonesia">Indonesia</option>
        <option value="Ireland">Ireland</option>
        <option value="Isle of Man">Isle of Man</option>
        <option value="Israel">Israel</option>
        <option value="Italy">Italy</option>
        <option value="Jamaica">Jamaica</option>
        <option value="Japan">Japan</option>
        <option value="Jersey">Jersey</option>
        <option value="Jordan">Jordan</option>
        <option value="Kazakhstan">Kazakhstan</option>
        <option value="Kenya">Kenya</option>
        <option value="Kiribati">Kiribati</option>
        <option value="South Korea">South Korea</option>
        <option value="Kuwait">Kuwait</option>
        <option value="Kyrgyzstan">Kyrgyzstan</option>
        <option value="Laos">Laos</option>
        <option value="Latvia">Latvia</option>
        <option value="Lebanon">Lebanon</option>
        <option value="Lesotho">Lesotho</option>
        <option value="Liechtenstein">Liechtenstein</option>
        <option value="Lithuania">Lithuania</option>
        <option value="Luxembourg">Luxembourg</option>
        <option value="Macao">Macao</option>
        <option value="Republic of Macedonia">Republic of Macedonia</option>
        <option value="Madagascar">Madagascar</option>
        <option value="Malawi">Malawi</option>
        <option value="Malaysia">Malaysia</option>
        <option value="Maldives">Maldives</option>
        <option value="Mali">Mali</option>
        <option value="Malta">Malta</option>
        <option value="Marshall Islands">Marshall Islands</option>
        <option value="Martinique">Martinique</option>
        <option value="Mauritania">Mauritania</option>
        <option value="Mauritius">Mauritius</option>
        <option value="Mayotte">Mayotte</option>
        <option value="Mexico">Mexico</option>
        <option value="Federated States of Micronesia">Federated States of Micronesia</option>
        <option value="Moldova">Moldova</option>
        <option value="Monaco">Monaco</option>
        <option value="Mongolia">Mongolia</option>
        <option value="Montenegro">Montenegro</option>
        <option value="Montserrat">Montserrat</option>
        <option value="Morocco">Morocco</option>
        <option value="Mozambique">Mozambique</option>
        <option value="Myanmar">Myanmar</option>
        <option value="Namibia">Namibia</option>
        <option value="Nauru">Nauru</option>
        <option value="Nepal">Nepal</option>
        <option value="Netherlands">Netherlands</option>
        <option value="Netherlands Antilles">Netherlands Antilles</option>
        <option value="New Caledonia">New Caledonia</option>
        <option value="New Zealand">New Zealand</option>
        <option value="Nicaragua">Nicaragua</option>
        <option value="Niger">Niger</option>
        <option value="Nigeria">Nigeria</option>
        <option value="Niue">Niue</option>
        <option value="Norfolk Island">Norfolk Island</option>
        <option value="Northern Mariana Islands">Northern Mariana Islands</option>
        <option value="Norway">Norway</option>
        <option value="Oman">Oman</option>
        <option value="Pakistan">Pakistan</option>
        <option value="Palau">Palau</option>
        <option value="Palestine">Palestine</option>
        <option value="Panama">Panama</option>
        <option value="Papua New Guinea">Papua New Guinea</option>
        <option value="Paraguay">Paraguay</option>
        <option value="Peru">Peru</option>
        <option value="Philippines">Philippines</option>
        <option value="Pitcairn">Pitcairn</option>
        <option value="Poland">Poland</option>
        <option value="Portugal">Portugal</option>
        <option value="Puerto Rico">Puerto Rico</option>
        <option value="Qatar">Qatar</option>
        <option value="Romania">Romania</option>
        <option value="Russian Federation">Russian Federation</option>
        <option value="Rwanda">Rwanda</option>
        <option value="Réunion">Réunion</option>
        <option value="St. Barthélemy">St. Barthélemy</option>
        <option value="St. Helena, Ascension and Tristan Da Cunha">St. Helena, Ascension and Tristan Da Cunha</option>
        <option value="St. Kitts And Nevis">St. Kitts And Nevis</option>
        <option value="St. Lucia">St. Lucia</option>
        <option value="St. Martin">St. Martin</option>
        <option value="St. Pierre And Miquelon">St. Pierre And Miquelon</option>
        <option value="St. Vincent And The Grenedines">St. Vincent And The Grenedines</option>
        <option value="Samoa">Samoa</option>
        <option value="San Marino">San Marino</option>
        <option value="Sao Tome and Principe">Sao Tome and Principe</option>
        <option value="Saudi Arabia">Saudi Arabia</option>
        <option value="Senegal">Senegal</option>
        <option value="Serbia">Serbia</option>
        <option value="Seychelles">Seychelles</option>
        <option value="Sierra Leone">Sierra Leone</option>
        <option value="Singapore">Singapore</option>
        <option value="Slovakia">Slovakia</option>
        <option value="Slovenia">Slovenia</option>
        <option value="Solomon Islands">Solomon Islands</option>
        <option value="Somalia">Somalia</option>
        <option value="South Africa">South Africa</option>
        <option value="South Georgia and the South Sandwich Islands">South Georgia and the South Sandwich Islands</option>
        <option value="Spain">Spain</option>
        <option value="Sri Lanka">Sri Lanka</option>
        <option value="Suriname">Suriname</option>
        <option value="Svalbard And Jan Mayen">Svalbard And Jan Mayen</option>
        <option value="Swaziland">Swaziland</option>
        <option value="Sweden">Sweden</option>
        <option value="Switzerland">Switzerland</option>
        <option value="Syrian Arab Republic">Syrian Arab Republic</option>
        <option value="Taiwan">Taiwan</option>
        <option value="Tajikistan">Tajikistan</option>
        <option value="Tanzania">Tanzania</option>
        <option value="Thailand">Thailand</option>
        <option value="Timor-Leste">Timor-Leste</option>
        <option value="Togo">Togo</option>
        <option value="Tokelau">Tokelau</option>
        <option value="Tonga">Tonga</option>
        <option value="Trinidad and Tobago">Trinidad and Tobago</option>
        <option value="Tunisia">Tunisia</option>
        <option value="Turkey">Turkey</option>
        <option value="Turkmenistan">Turkmenistan</option>
        <option value="Turks and Caicos Islands">Turks and Caicos Islands</option>
        <option value="Tuvalu">Tuvalu</option>
        <option value="Uganda">Uganda</option>
        <option value="Ukraine">Ukraine</option>
        <option value="United Arab Emirates">United Arab Emirates</option>
        <option value="United Kingdom">United Kingdom</option>
        <option value="United States">United States</option>
        <option value="US Minor Outlying Islands">US Minor Outlying Islands</option>
        <option value="Uruguay">Uruguay</option>
        <option value="Uzbekistan">Uzbekistan</option>
        <option value="Vanuatu">Vanuatu</option>
        <option value="Venezuela">Venezuela</option>
        <option value="Viet Nam">Viet Nam</option>
        <option value="Virgin Islands, British">Virgin Islands, British</option>
        <option value="Virgin Islands, U.S.">Virgin Islands, U.S.</option>
        <option value="Wallis and Futuna">Wallis and Futuna</option>
        <option value="Western Sahara">Western Sahara</option>
        <option value="Yemen">Yemen</option>
        <option value="Zambia">Zambia</option>
    </select>

    <script type="text/javascript">

    var countrySanitizer = function(formID) {
        var form = document.getElementById(formID);

        return {
            remove : function(countryArray) {
                if(countryArray.length > 0) {
                    var options = form.getElementsByTagName('option'),
                        localOptions = [];

                    //find the elements to remove
                    for(var i = 0; i < options.length; i += 1)
                    {   
                        if(countryArray.indexOf(options[i].getAttribute('value')) !== -1) {
                            localOptions.push(options[i]); //push to temp array
                        }
                    }

                    //remove the entries
                    for(var y = 0; y < localOptions.length; y += 1)
                    {
                        form.removeChild(localOptions[y]);
                    }
                }
            }
        };

    };

    countrySanitizer('country').remove(
        ['Yemen','Zambia', 'Australia']
    );

    </script>
</body>

HTML是从您的网页中提取的,因此您需要做的是提供要删除的表单的ID以及带有删除方法的链式删除方法,该方法需要删除一系列国家/地区:

countrySanitizer('country').remove(
        ['Yemen','Zambia', 'Australia']
    );

它不使用JQuery,可以使用querySelector完成,但旧IE版本不支持。