我是 JQuery 的新手,我想做一個簡單的函式。我有一個基于復選框 id 命名的 div。我希望僅在選中其復選框但代碼不起作用時才顯示 div。它告訴我這個錯誤($courseTimeDiv.hide 不是函式)。
這是我定義復選框的部分
`$programList .= ' <div >
<input type="checkbox" name="course[]" class="form-check-input group2"
id="'.$coursePrice.'" value="'.$courseId.'">
<label class="form-check-label" for="'.$coursePrice.'">'.$courseName .'
price is '.$coursePrice.'$</label>
</div>';`
這是我定義 div 的 HTML 代碼的一部分
` $programList .= '<div name="timeDiv'.$courseId.'" class="timeGroup" >
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" id="timeRadio"
value="Weekday" name="time['.$courseId.']" />
<label class="form-check-label"><strong>Weekdays</strong>
</div> </div>';
`
這是JQuery代碼
`$("input[name='course[]']").on('change', function () {
var $courseIdValue = $('input[name="course[]"]:checked').val();
var $courseTimeDiv = $("input[name='timeDiv']") $courseIdValue;
if($courseTimeDiv.match(/$courseIdValue/)) {
$courseTimeDiv.show(300);
}
else {
$courseTimeDiv.hide();
}
});`
任何幫助表示贊賞
uj5u.com熱心網友回復:
var $courseTimeDiv = $("input[name='timeDiv']") $courseIdValue;
你想在這條線上做什么?
如果,您正在嘗試選擇一個元素,那么您不能match在下一行中對其使用方法
如果,您正在嘗試創建元素的選擇器,那么 js 引擎是正確的,并且您的變數沒有元素,因此您可以選擇它
在這兩種情況下你都做錯了,因為你選擇了一個 name='timeDiv' blabla 的輸入元素,而在你的代碼中沒有這樣的元素
我相信你的意思是
var selector = "div.timeDiv" $courseIdValue
var $courseTimeDiv = $(selector);
不是這么簡單,您有多個復選框,每個復選框都有自己的值,并且您想要所有選定的復選框
所以你需要對它們進行處理以查看哪個被選中,哪個沒有被選中,并且 match 方法在這個程序中對你沒有幫助
`$("input[name*='course']").on('change', function () {
var value = $(this).val();
var selector = "div[name*=[timeDiv" value "]"
var courseTimeDiv = $(selector);
if( $(this).is(':checked') ){
courseTimeDiv.show(300);
} else {
courseTimeDiv.hide();
}
});`
我認為這應該作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464068.html
標籤:javascript html jQuery
下一篇:它幾乎是回文嗎?
