2016-03-21 394 views
3

在提交此JSP時,應該要求用戶選擇「請選擇」以外的內容。如果用戶選擇「請選擇」並提交表單,它應該通過彈出窗口提醒用戶他們應該更改該字段。如何要求用戶將下拉值設置爲「請選擇」以外的值?

<td class="normalTD" nowrap class="alignLeft" width="16%"> 
<form:select class="requiredAttr" path="detail[${loop.index}].cd" cssClass="fotnStyle" id="cd" > 
<form:option value="">Please Select</form:option> 
    <c:forEach var="list" items="${override.list}"> 
     <c:choose> 
     <c:when test="${override.listne null}"> 
      <c:choose> 
      <c:when test="${list.listCd eq detail.cd}"> 
       <c:set var="selectStatus" value="SELECTED" /> 
      </c:when> 
      <c:otherwise> 
       <c:set var="selectStatus" value="" /> 
      </c:otherwise> 
      </c:choose> 
     </c:when> 
     </c:choose> 
     <option value="${list.listCd}" ${selectStatus}> 
     <c:out value="${list.desc}" /> 
     </option> 
    </c:forEach> 
</form:select> 
</td> 

我用下面的jQuery的片段,然後在提醒一個文本框不填寫用戶工作得很好,但並沒有影響到下拉列表。

function validate(){ 
    $(".requiredAttr").each(function(){ 
    if($(this).val().length < 1 || $(this).val() == ""){ 
     alert("Please fill in all the required fields."); 
     $(this).focus(); 
     return false; 

    }else{ 
     return true; 
    } 
    }); 
    return false; 
} 

這是生成的HTML。

<td class="normalTD" nowrap class="alignLeft" width="16%"> 
<select id="cd" name="detail[0].cd" class="fotnStyle" class="requiredAttr"> 
    <option value="">Please Select</option>   
    <option value="1" >A</option> 
    <option value="2" >B</option>            
    <option value="3" >C</option>             
    <option value="4" >D</option>            
</select> 
</td> 
+0

什麼是生成html? – ssilas777

+1

我將生成的HTML添加到了我的帖子中。 –

回答

1

簡單地得到降的選擇指數下跌,如果零,則沒有價值選擇

if($("#cd").prop('selectedIndex') === 0) { 
    alert(...); 
} 

OR

if($("#cd")[0].selectedIndex === 0) { 
    alert(...); 
} 

相關文章:


OR

你可以選擇的選項的值,如果是空的,然後選擇一個值警報。

if($("#cd").val() === "") { 
    alert(...); 
} 

相關文章:

+0

如果您正在檢查空字符串,您可能需要對值進行修剪。 – DinoMyte

1

你的邏輯是正確的,但你並不需要的值的長度。一個簡單的檢查值等於空將執行這項工作。

function validate() 
{ 
    $(".requiredAttr").each(function(){ 
    if($.trim($(this).val()) == ""){ 
     alert("Please fill in all the required fields."); 
     $(this).focus(); 
     return false; 

    }else{ 
     return true; 
    } 
    }); 
    return false; 
} 

例子:https://jsfiddle.net/8p3ftmuh/3/

相關問題