下面是我的代碼,我試圖隱藏和顯示動態元素。我遇到的問題是,如果只檢查「其他」,我只希望隱藏的div只顯示一個。但是,下面的代碼將顯示我擁有的所有#dynamicRows
的隱藏div。所以它適用於初次加1 #dynamicRow
,問題是當我有兩個或兩個以上#dynamicRows
從動態元素jQuery c顯示隱藏文本框#
$('#dynamicRow').on('click', 'input[id^=race]', function() {
if ($(this).is(":checked")) {
if ($(this).val() == "Other") {
$(".cssclass").each(function (index) {
$(this).closest("div").show();
});
}
else {
$(".cssclass").each(function() {
$(this).closest("div").hide();
});
}
}
});
下面是動態行,尋求幫助的目的我顯示的HTML代碼,但是,它不會對存在屏幕上,用戶將點擊「添加」生成下面的代碼。我在生成動態行時沒有問題,這不是我發佈的原因。注意我的單選按鈕中的名字是由c#生成的,並且一切正常。問題不再是如何創建一個動態行,它很好地在C#中處理。
動態行的一個工作原理與上面的jQuery:
<div id="dynamicRow">
<input type="radio" value="No" id="race[]" name="Person[hhhhhh].race"> No:
<input type="radio" value="Other" id="race[]" name="Person[hhhhhh].race"> Other:
<div id="iamhidden" class="cssclass">
I appear one at a time, when other radio button is checked
</div>
</div>
動態連續兩次不與上述jQuery的工作,它需要上述形式的活動作爲自己的,所以如果我檢查的單選按鈕第2行,第1行的動態響應該事件,反之亦然:
<div id="dynamicRow">
<input type="radio" value="No" id="race[]" name="Person[hhhhh].race"> No:
<input type="radio" value="Other" id="race[]" name="Person[hhhhh].race"> Other:
<div id="iamhidden" class="cssclass">
I appear one at a time, when other radio button is checked
</div>
</div>
ID應該是唯一的,如果你想要的ID分配給多個比1個元素使用類。 – Chris
您必須考慮.each()的用戶。這個線程可能會幫助你,我希望:http://stackoverflow.com/questions/18966222/jquery-each-and-attaching-click-event只是一個例子。還要避免使用id,嘗試用任何方式標識使用html標籤的元素。 –
@Chris我不能分配id,因爲html是一個動態表單,它是在c#中生成的,這就是爲什麼我有一個類調用cssclass – NULL