2017-10-09 32 views
0

其餘建立在父母的字段選擇值一些有條件的領域範圍變量可用,我有以下的html代碼:如何使代碼

<select id="fad_typedebien" name="goodtype" required="" class="field_required form-control"> 
    <option value="">Type de bien</option> 
    <option value="Appartements">Appartements</option> 
    <option value="Bureaux">Bureaux</option> 
    <option value="Espaces commerciaux">Espaces commerciaux</option> 
    <option value="Immeubles">Immeubles</option> 
    <option value="Maisons">Maisons</option> 
    <option value="Terrains">Terrains</option> 
</select> 

現在我的jQuery代碼的一部分是:

var selectedValue; 
    jQ('#adminForm #fad_typedebien).change(function() { 
     selectedValue = jQ(this).val(); 
    }); 

    for(var i = 0; i < parentvalues.length; i++) { 
     if (selectedValue == parentvalues[i] && find == false) { 
      jQ('#adminForm #f'+child).show(); 
      jQ('#adminForm #row_'+child).show(); 
      find = true; 
     } 
    } 

我看不到有關selectedValue變量的警報的任何值。我正在嘗試在列表中選擇一些選定的選區時顯示子字段。請幫幫我。

謝謝。

+2

你缺少結束' ''這裏: - 'JQ(' #adminForm #fad_typedebien)'。糾正它並檢查 –

+0

您必須等待事件發生 – charlietfl

+0

'for'循環應位於'change'函數內,以便每次選擇一個元素時都會發生。你也應該修正你的語法,如第一條評論所述,並且還應該在這個函數中聲明'find' var(不重要,但最終不會成爲全局的) – Kaddath

回答

0

這是你正在嘗試做什麼?

var myArray = ['Appartements']; 
 
var selectedValue = $('#fad_typedebien').value; 
 

 
function myFunction (e) { 
 
    selectedValue = e.value; 
 
    alert(selectedValue); 
 
    if(myArray.indexOf(e.value) > -1) { 
 
     console.log('found'); 
 
     $('#childField').css('display', 'inline-block'); 
 
    } else { 
 
     console.log('not found'); 
 
     $('#childField').css('display', 'none'); 
 
    } 
 
}
#childField { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select onchange="myFunction(this)" id="fad_typedebien" name="goodtype" required="" class="field_required form-control"> 
 
    <option value="">Type de bien</option> 
 
    <option value="Appartements">Appartements</option> 
 
    <option value="Bureaux">Bureaux</option> 
 
    <option value="Espaces commerciaux">Espaces commerciaux</option> 
 
    <option value="Immeubles">Immeubles</option> 
 
    <option value="Maisons">Maisons</option> 
 
    <option value="Terrains">Terrains</option> 
 
</select> 
 
<input type="text" id="childField">

+0

嗨,謝謝你的建議。其實,我想讓子字段只出現在父列表中的某些值。 – Lilian

+0

是的,這是我需要的。但是,真正的問題在於價值的範圍。當我對selectedValue執行警報時,我得到一個空的結果。我不知道爲什麼變量沒有獲得選項值。 – Lilian

+0

適合我。你的意思是'selectedValue'在提醒時未定義?也許你已經試圖在dom渲染之前提醒變量。你能添加一些解釋還是小提琴? – Wouter