我必须删除一些答案,所以我使用了onclick事件。此事件仅在脚本标记内的相同html页面中起作用,但它不适用于单独的js文件。
<a href="javascript:void(0);" title="delete" onClick="deleteAnswer('<?php if($option->answerId != ''){ echo "{$option->answerId}"; } ?>','old');"><i class="icon md-recycle"></i></a>
function deleteAnswer(uid,value){
//alert(uid);
if(value=='old'){
$("#answer_form_group_"+uid).empty().hide();
$("#answer_form_group_"+uid).append("<input type='hidden' name='deleteAnswer[]' value='"+uid+"'>");
} else {
$("#answer_form_group_"+uid).remove();
}
}
function addans(){
$('.addans').unbind("click");
$('.addans').on("click",function(e){
if ((($('#ansform').find(".form-group").length > 4)&&($("#sel1").val() == "multiplechoice"))||
(($('#ansform').find(".form-group").length > 1)&&($("#sel1").val() == "trueorfalse"))||
(($('#ansform').find(".form-group").length > 4)&&($("#sel1").val() == "multipleselect"))){
noty({ text: 'your exceeded the maximium limit',type: 'error',modal:true,timeout:1000});
} else {
if(($('#ansform').find(".form-group").length > 0) &&($("#sel1").val() == "")){
noty({ text: 'select Type of Question ',type: 'warning',modal:true,timeout:1000});
} else {
var uid = generateUid();
var input_type = ($("#sel1").val() == "multiselect")?"checkbox":"radio";
$('#ansform').append(
'<div class="form-group" id="answer_form_group_'+uid+'">'+
'<div class="input-group">'+
'<input type="text" id= "ans_'+uid+'" class="ans form-control input-lg ans inline" placeholder="Write answers here" name="ans[]">'+' '+
'<input type="hidden" name="crt[]" value="0" />'+
'<input type="'+input_type+'" id= "ctr_'+uid+'" class="correct" name="crt[]" value="1">'+' '+
'<a href="javascript:void(0);" title="delete" onClick="deleteAnswer(\''+uid+'\',\'new\')"><i class="icon md-recycle"></i></a>'+
'</div>'+
'</div>'
);
}
e.preventDefault();
}
});
}
function deleteAnswerOption(){
$("#ansform").off('click','.answer-delete');
$('#ansform').on('click', '.answer-delete', function(e) {
e.preventDefault();
//alert($(this).parent().parent().parent().attr('class'));
// $(this).parent().parent().parent().remove();
});
}
所有其他功能都正常运行,但只有这一项显示错误,如Uncaught ReferenceError: deleteAnswer is not defined
at HTMLAnchorElement.onclick
。
答案 0 :(得分:0)
尝试使用document.ready()
CREATE OR REPLACE TYPE my_type FORCE AS OBJECT
(
col_1 NUMBER
,col_2 NUMBER
);
/
CREATE OR REPLACE TYPE my_nested_table AS TABLE of my_type;
/
DECLARE
l_table_a my_nested_table := my_nested_table();
l_table_b my_nested_table := my_nested_table();
l_sort_column NUMBER := 2;
BEGIN
l_table_a.extend(100);
FOR l_i IN 1..l_table_a.COUNT LOOP
l_table_a(l_i) := my_type(ROUND(DBMS_RANDOM.RANDOM,0), ROUND(DBMS_RANDOM.RANDOM,0));
END LOOP;
SELECT CAST(
MULTISET(
SELECT *
FROM TABLE(l_table_a)
ORDER BY DECODE(l_sort_column, 1, col_1
, 2, col_2) DESC
) AS my_nested_table
)
INTO l_table_b
FROM dual;
DBMS_OUTPUT.PUT_LINE('col_1 col_2');
FOR l_i IN 1..l_table_b.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(l_table_b(l_i).col_1 || ' ' || l_table_b(l_i).col_2);
END LOOP;
END;
/
});
或
$( document ).ready(function() {
//Paste your functions inside this
答案 1 :(得分:0)
请确保将其放入html的head部分,如下所示
<head>
<script type="text/javascript" src="path/to/script.js"></script>
<!--other script and also external css included over here-->
</head>
将src =“path / to / script.js”替换为js文件的名称。如果它在同一个文件夹中,除了这个
之外你不需要放任何东西"<script type="text/javascript" src="script.js"></script>"
再次,需要用js文件的名称替换script.js
答案 2 :(得分:0)
deleteAnswer(uid, value)
需要两个参数uid
和value
。
在您的代码中,您通过PHP片段传递第一个参数,其中包含if
子句到echo
某个值。如果那个PHP片段没有回应什么怎么办?会发生什么?究竟!代码将破裂。
建议:请在您的PHP代码段else
中插入echo empty string literal
子句。
欢迎你:)
答案 3 :(得分:0)
试试此代码
$(document).ready(function(){
$('body').on('click','.addans',function(){
alert('Hello Clieck me')
})
})
答案 4 :(得分:-1)
要检查实际错误,请按以下步骤操作:
转到editquestion.php页面的浏览器控制台(按f12键)。 2.write deleteAnswer(“xyz”,“”);然后按回车键 3.如果它会给出相同的“deleteAnswer未定义错误”那么将有两个案例四这个错误,否则它将起作用。
如果这不起作用,那么在浏览器控制台中检查,锚标签将没有正确的deleteAnser函数可能是你的php脚本中断函数语法。