簡體   English   中英

如果選項文本包含“選擇”,則選擇框驗證

[英]Select Box Validation if Option Text Contains Select

如果我有一個選擇框,則顯示文本選擇(插入插件的類型)

例如,使用文本“選擇案例和剪輯”作為默認選項以及5個其他選擇框,僅當沒有選擇框中包含“選擇”字樣時,我才想驗證此表單。

這使用的是Virtuemart,無法確保正確選擇了選項。

我的想法是,使用上述方法並在提交時在選項文本中找到值“選擇”。

 <select name="customPrice[0][27]" id="customPrice027">
     <option value="265">Select Case &amp; Clip</option>
     <option value="266">$25.00 - Black - Large - 1</option>
     <option value="267">$0.00 - Black - None - 2</option>
     <option value="268">$10.00 - Beige - Small - 3</option>
     <option value="269">$20.00 - Beige - Large - 4</option>
     <option value="270">$0.00 - Beige - None - 5</option>
     <option value="271">$10.00 - Blue - Small - 6</option>
     <option value="272">$20.00 - Blue - Large - 7</option>
     <option value="273">$0.00 - Blue - None - 8</option>
     <option value="274">$10.00 - Gray - Small - 9</option>
     <option value="275">$20.00 - Gray - Large - A</option>
     <option value="276">$0.00 - Gray - None - B</option>
     <option value="277">$20.00 - Red - Large - R</option>
     <option value="278">$20.00 - Olive Drab - Large - D</option>
 </select>

我的問題是,這是動態生成的,因此我無法驗證,並且第一個選項包含0值。

我認為使用regEx可能是在我的帖子中找到“選擇”一詞的方法。

抱歉,這是愚蠢的(我是jQuery的初學者)。

這是我的以下代碼,嘗試僅添加一條控制台消息,說有一個“選擇”框,其中包含“選擇”文本

    $(document).ready(function () {

       if ($("select").indexOf("Select") >= 1) {
          console.log('Select is Selected');
       }       

    });

這里有指針嗎? 我還希望在允許提交按鈕按下之前進行驗證。

更新:

我的代碼是依賴的,必須在選擇按鈕后停止提交表單。 我知道提交按鈕的ID,類型,名稱,標題和值(預定義)

這是6盒中的1盒,所有相同條件都適合並觸發此消息。

這是我的代碼,不會停止提交。 如果需要網站示例,我可以發送私人消息中的鏈接。

     $(document).ready(function () {

       $( ".addtocart-button" ).click(function() {

        if($("option:contains('Select')").length){
           event.preventDefault();
           console.log("Select found");
        }


    });

});

使用包含選擇器

$("form").submit(function(e){
    if($("#customPrice027 option:selected:contains('Select')").length){
       e.preventDefault();
       alert("found");
    }
});

JS小提琴: http //jsfiddle.net/QcEbL/1/

修改以使用您提供的代碼

$( ".addtocart-button" ).click(function(e) {

    if($("#customPrice027 option:selected:contains('Select')").length){
       e.preventDefault();
       console.log("Select found");
    }
});

JS小提琴: http //jsfiddle.net/QcEbL/2/

如果可以使用value ,為什么要使用option text在選擇框中查找選擇詞

$('#sub').on('click', function() { 
   var selectval = $('#customPrice027').val();
   if(selectval == '265') { 
      alert("Gotcha!");
   }
});

小提琴

希望能幫助到你!

聽起來您希望用戶選擇默認值以外的其他選項,如果是,請檢查所選選項的文本

var valid = true;

$('select').each(function() {
    if ($('option:selected', this).text().indexOf('Select') != -1) valid = false;
    return valid;
});

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM