Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery onClick一次打开/关闭开关_Javascript_Jquery - Fatal编程技术网

Javascript jQuery onClick一次打开/关闭开关

Javascript jQuery onClick一次打开/关闭开关,javascript,jquery,Javascript,Jquery,我正试图找出如何做某事,但却找不出正确的术语 我想做的是有一个文本框(#price),一旦点击它就会打开一个pdf计算器,它会在完成时预先填充文本框,或者允许用户输入金额。但是如果文本框是“选项卡式”的,而不是onClick,我也希望它能起作用。(可能是onBlur)基本上,只要使用文本框,我就需要它像那样工作。但是如何让onClick知道何时可以输入金额,或者是否需要打开计算器 还有一个棘手的问题是,我需要一个开/关开关,基本上是一个复选框,当它被选中时,它允许弹出pdf计算器,而当它没有被选

我正试图找出如何做某事,但却找不出正确的术语

我想做的是有一个文本框(#price),一旦点击它就会打开一个pdf计算器,它会在完成时预先填充文本框,或者允许用户输入金额。但是如果文本框是“选项卡式”的,而不是onClick,我也希望它能起作用。(可能是onBlur)基本上,只要使用文本框,我就需要它像那样工作。但是如何让onClick知道何时可以输入金额,或者是否需要打开计算器

还有一个棘手的问题是,我需要一个开/关开关,基本上是一个复选框,当它被选中时,它允许弹出pdf计算器,而当它没有被选中时,它只是忽略它,并允许仍然输入价格


有人对我如何实现这一目标有什么建议或指点吗?

将事件处理程序绑定到
focus
事件(
blur
用于控件失去焦点时)


然后在
eventHandler()
中,检查计算器是否需要调用,方法是检查它是否已打开:
$(“#calculatorDiv”).is(“:visible”)
,并检查复选框是否“checked”):
$(“#checkboxId”).is(“:checked”)
,并根据打开情况将事件处理程序绑定到
事件焦点(
blur
用于控件失去焦点时)


然后在
eventHandler()
中,检查计算器是否需要调用,方法是检查它是否已打开:
$(“#calculatorDiv”).is(“:visible”)
,并检查复选框是否“checked”):
$(“#checkboxId”).is(“:checked”)
,并根据打开情况将事件处理程序绑定到
事件焦点(
blur
用于控件失去焦点时)


然后在
eventHandler()
中,检查计算器是否需要调用,方法是检查它是否已打开:
$(“#calculatorDiv”).is(“:visible”)
,并检查复选框是否“checked”):
$(“#checkboxId”).is(“:checked”)
,并根据打开情况将事件处理程序绑定到
事件焦点(
blur
用于控件失去焦点时)

然后在您的
eventHandler()
中,通过检查计算器是否已打开来检查是否需要调用:
$(“#calculatorDiv”).is(“:visible”)
,并检查您的复选框是否“checked”):
$(“#checkboxId”).is(“:checked”)
,并根据打开它。

事件您正在查找的是onFocus和onBlur。我会将一个函数绑定到onFocus事件,首先检查相应的复选框是否有“true”(或“checked”)值,如果有,则继续,如果没有,则不执行任何操作

如果我没有在手机上回答这个问题,我会在JSFIDLE中为您创建一个示例。

您要查找的事件是onFocus和onBlur。我会将一个函数绑定到onFocus事件,该函数首先检查对应的复选框是否有“true”(或“checked”)值,如果有,则继续,如果没有,则不执行任何操作

如果我没有在手机上回答这个问题,我会在JSFIDLE中为您创建一个示例。

您要查找的事件是onFocus和onBlur。我会将一个函数绑定到onFocus事件,该函数首先检查对应的复选框是否有“true”(或“checked”)值,如果有,则继续,如果没有,则不执行任何操作

如果我没有在手机上回答这个问题,我会在JSFIDLE中为您创建一个示例。

您要查找的事件是onFocus和onBlur。我会将一个函数绑定到onFocus事件,该函数首先检查对应的复选框是否有“true”(或“checked”)值,如果有,则继续,如果没有,则不执行任何操作

如果我没有在手机上回答这个问题,我会在JSFIDLE中为您创建一个示例。

1.一个文本框(#price),单击一次就会打开一个pdf计算器 使用jQuery的
click()
处理程序或
bind(“click”,…)

var $price = $("#price");
$price.click(function() {
    $("#pdf_calculator").fadeIn();
});
2.但是如果文本框也是“选项卡式”的,我也希望它能起作用 使用
focus
事件来了解输入何时处于活动状态(即,已“选项卡化”到)。或者,如果您想知道用户何时“离开”输入字段,也可以使用
blur
事件。(“blur”与“focus”相反)

3.但是如何让onClick知道何时可以输入金额,或者是否需要打开计算器? 获取用户键入的金额,将其转换为数值,然后执行验证步骤

$price.on("focus click", function() {
    // Do some validation checking on the amount entered.
    var enteredValue = parseFloat($price.val());
    if (!isNaN(enteredValue) && enteredValue > 0) {
        $("#pdf_calculator").fadeIn();
    }
});
4.还有一个棘手的问题是,我需要一个开/关开关,基本上是一个复选框,当它被选中时,它允许弹出pdf计算器,而当它没有被选中时,它只是忽略它,允许仍然输入价格。 只需使用jQuery的
is(“:checked”)
检查复选框,然后结合上述步骤,您的完整工作代码如下所示:

var $price = $("#price");

$price.on("focus click blur", function() {

    // your checkbox element
    var checkbox = $("#show_calculator");

    // Check if the checkbox is checked
    if (checkbox.is(":checked")) {

        // convert the entered string to a number
        // then validate it according to your needs
        var enteredValue = parseFloat($price.val());
        if (!isNaN(enteredValue) && enteredValue > 0) {

            // if all conditions are met, 
            // show the pdf calculator
            $("#pdf_calculator").fadeIn();
        }
    }
});

对于pdf表单(以及从pdf表单中输入和输出值),没有一种简单的方法不涉及“黑客”(可能在不同的浏览器中工作,也可能不工作)。如果pdf只有一个输入,那么您可以捕获表单弹出窗口中的键盘事件,并将其发送回HTML表单(这是一个丑陋的黑客行为),但如果这是我的项目,我会将pdf功能转换为javascript,然后你就有了所需的所有自由,你的计算器与你的应用程序的其余部分100%兼容

希望这能有所帮助!

1.一个文本框(#price),单击它会打开一个pdf计算器 使用jQuery的
click()
处理程序或
bind(“click”,…)

var $price = $("#price");
$price.click(function() {
    $("#pdf_calculator").fadeIn();
});
2.但是如果文本框也是“选项卡式”的,我也希望它能起作用 使用
focus
事件了解输入何时处于活动状态(即,已“选项卡化”t
var $price = $("#price");

$price.on("focus click blur", function() {

    // your checkbox element
    var checkbox = $("#show_calculator");

    // Check if the checkbox is checked
    if (checkbox.is(":checked")) {

        // convert the entered string to a number
        // then validate it according to your needs
        var enteredValue = parseFloat($price.val());
        if (!isNaN(enteredValue) && enteredValue > 0) {

            // if all conditions are met, 
            // show the pdf calculator
            $("#pdf_calculator").fadeIn();
        }
    }
});