jquery 如何打开EPUB文件

7fhtutme  于 2023-10-17  发布在  jQuery
关注(0)|答案(7)|浏览(130)

我有两个表单,一个带有单选按钮,用户必须选择编辑。

[form name="A"]
<li>[input type="radio" name="BookItem" value="1" /]</li>
<li>[input type="radio" name="BookItem" value="2" /]</li>
<li>[input type="radio" name="BookItem" value="3" /]</li>
[form]<p>

从表单(A)中选择“BookItem”后,我调用$("#EditFormWrapper").load("callEditData.cfm? ID="+ID);函数来加载第二个表单(B)

<div id="EditFormWrapper"><div></p>
<!---//  begin dynamic form generated by external file callEditData.cfm  //--->
[form id="editForm" name="B"]
<ul class="hourswrapper">
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs1" /> 2 Hours AM</li>
 <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs1" /> 2 Hours PM</li>
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs2" /> 2 Hours AM</li>
 <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs2" /> 2 Hours PM</li>
</ul>
[input type="image" src="images/submit-btn.gif" id="addBTN" name="addBTN" class="buttons" alt="SubmitRrequest" /]
[input type="image" src="images/cancel-btn.gif" id="editBTNcancel" name="editBTNcancel" class="buttons" alt="Cancel Request" /]
[/form]
<!---//  end dynamic form from external file //--->

我想取消选中表单(A)上的单选按钮,当用户单击表单(B)中的取消按钮(editBTNcancel)时。
以下是我的剧本:

$("#editBTNcancel").live("click", function(event){
    event.preventDefault();
    $("#EditFormWrapper").slideUp("fast").empty();
    //$('.TOR2Hours').removeAttr('checked');
    $('.TOR2Hours').attr('checked', false);
});

我希望我清楚地说明我的问题,任何建议将不胜感激!

px9o7tmv

px9o7tmv1#

你可以像这样访问表单

var exampleForm = document.forms['form_name'];

然后循环遍历表单

for( var i=0; i<exampleForm.length; i++ ){
   alert( exampleForm[i].type );
}

你可以像这样检查

if( exampleForm[i].checked )

要禁用选中的单选按钮,请尝试.

exampleForm[i].checked=false;

最后的代码看起来像这样...

var exampleForm = document.forms['form_name'];
for( var i=0; i<exampleForm.length; i++ ){
   if( exampleForm[i].type ) == 'radio' && exampleForm[i].checked == true ){
       exampleForm[i].checked = false;
   }
}
xoefb8l8

xoefb8l82#

我不知道你到底想要什么,但你可以尝试使用重置输入。

<input type='reset' />
nhn9ugyo

nhn9ugyo3#

鉴于这几乎是最简单的DOM任务,并且适用于每个脚本浏览器,我建议不要使用jQuery方法:

$(".TOR2Hours")[0].checked = false;

另一个问题是你的选择是否正确。你的意思是按类选择一组元素,还是它应该是一个ID选择器?

dxpyg8gm

dxpyg8gm4#

你的选择器错了。如果你想取消选中第一个表单中的单选按钮,你应该使用$('input[name="BookItem"]')而不是$('.TOR2Hours')
$("#editBTNcancel").on("click", function(event){ $("#EditFormWrapper").slideUp("fast").empty(); $('input[name="BookItem"]').attr('checked', false); });
至于使用哪种方法取消选中单选按钮,以下3种方法都应该有效:

  1. $('input[name="BookItem"]').attr('checked', false);
  2. $('input[name="BookItem"]').removeAttr('checked');
  3. $('input[name="BookItem"]').prop('checked', false);
    但是,请查看jQuery关于jQuery prop()的文档,了解attr()prop()之间的区别。
f87krz0w

f87krz0w5#

我刚刚发现了一个解决这个问题的好方法。
假设你有两个无线电需要能够被检查/未检查,实现这个代码,并改变必要的:

var gift_click = 0;
    function HandleGiftClick() {
        if (document.getElementById('LeftPanelContent_giftDeed2').checked == true) {
            gift_click++;
            memorial_click = 0;
        }
        if (gift_click % 2 == 0) {document.getElementById('LeftPanelContent_giftDeed2').checked = false; }
    }
    var memorial_click = 0;
    function HandleMemorialClick() {          
        if (document.getElementById('LeftPanelContent_memorialDeed2').checked == true) {
            memorial_click++;
            gift_click = 0;
        }
        if (memorial_click % 2 == 0) { document.getElementById('LeftPanelContent_memorialDeed2').checked = false; }
    }

:)欢迎光临

bxpogfeg

bxpogfeg6#

我用这个方法解决你的问题在ASP.net,检查这个。

radioButton.InputAttributes["show"] = "false"; 
string clickJs = " if(this.show =='true'){this.show ='false'; this.checked = false;}else{this.show='true'; this.checked = true;};";  

radioButton.Attributes["onClick"] = clickJs;

在www.example.com中asp.net,您可以使用这种方式添加属性。您也可以手动添加属性到单选按钮,并执行功能(clickJs)来更改检查的属性!!!

vatpfxk5

vatpfxk57#

它总是工作,除非你设置调试断点。

var auswahl_dachaufbau = document.querySelectorAll('input[type="radio"][name="dachart"]');
// Damit man Radio-Buttons auch unchecked machen kann

Array.prototype.forEach.call(auswahl_dachaufbau, function(rd) {
    // Event-Listener für Radio-Buttons 
    rd.addEventListener("mousedown", function(e) {
        let id = e.target.id;
        if (this.checked) {
            // Das Setzen der onclick-function auf diese Weise ist dafür da, damit man
            // Radio-Buttons auch unchecked machen kann ohne einen neuen Radio-Button auszuwählen
            // Seltsamerweise ist das nicht möglich ohne weiteres
            this.onclick = function() {
                this.checked = false;
            }
        } else {
            this.onclick = null;
        }
    });
});

当您设置调试断点时,它不起作用。

相关问题