2016-05-02 52 views
1

我有很多值的選擇選項,我需要切換所需的字段或不基於選擇期權價值,嘗試了所有可能的解決方案,如:使用JavaScript在HTML中動態添加和刪除必需的標記?

$(document).ready(function() { 

}); 

function toggleFields(sel) { 
var valuee = sel.value; 
alert (valuee); 


if (valuee < 7){ 


    //$("#comment").setAttribute("required",""); 
    alert("Removed"); 
    $('#comment').required = false;    //Correct 
    $('#comment').removeAttribute("required");  //Correct 
} 

else{ 
    $('#comment').required = true;      //Correct 
    $('#comment').setAttribute("required", ""); 
    alert("Set"); 
} 

}

運行的例子可以發現這個小提琴

Fiddle Link is below

+1

你調用JS腳本* *後調用jQuery的。它需要成爲您所調用的第一個腳本。 –

+0

對我來說沒有運行的例子,我的CONSOL說:ReferenceError:toggleFields未定義(FF 44.0.2) – golddragon007

回答

1

jQuery代碼應該是裏面$(document).ready(function() { /*your code here */ }不是在它之下。

編輯:或者它應該設置爲不加載jquery之前調用任何jQuery代碼。您可能需要刪除內聯函數並在您的腳本中設置事件處理程序

另外,什麼是$('comment')?它應該是一個選擇器,例如。 $('#comment')或元素例如。 $('div')

編輯:https://jsfiddle.net/tjwoo1y7/11/

$('#comment').attr("required", false); 
$('#comment').attr("required", true); 
+0

將函數添加到document.ready時,它表示toggleFields未定義 –

+0

您是指在jsfiddle中,還是在你自己的網頁? – yezzz

+0

實際上,在http://jsfiddle.net/tjwoo1y7/2/中,您將代碼放入ready函數中,它表示$未定義。問題是你沒有正確地設置你的小提琴......按下整潔的按鈕來查看。然後按javascript的雷達圖​​標,並設置使用jquery – yezzz