来自表单输入的JS变量

时间:2014-05-27 23:59:53

标签: javascript jquery html forms variables

仅供参考:由于其他原因,我必须使用data-label作为选择器。

我需要存储表单中的值以便稍后通过js使用,这样当用户切换单选按钮时,值将重新插入到表单输入中。

如何存储值,然后在用户单击单选按钮时重新插入它们?这就是我所在的地方:

// user clicks initially, then the values would be stored..
$('[data-label="FrenchCheckbox"] [data-label="State1"] [data-label="Checkbox"] [data-label="Unchecked"]').click(function() {

    // want to store the initial value now!! 
    // ..then translating the form inputs to another lang
    $('[data-label="Create StepWizard"] [data-label="CreateAssetInput"]').each(function(i, ele) {
        var tString = $(ele).val();

        if(tString.length <= 0) return;

        var tSrc = 'en';
        var tDst = 'fr';
        var key = 'my api key';
        var tUrl = "https://www.googleapis.com/language/translate/v2?key=" + key + "&source=" + tSrc + "&target=" + tDst + "&q=" + tString;
        $.get(tUrl, function(response) {
            $(ele).val(response.data.translations[0].translatedText);
        });
    });
});

然后当用户点击单选按钮(下面第一行)时,将初始值重新插入表单字段?

$('[data-label="LanguageRadioButtons"] [data-label="French"] [data-label="Radio Button"] [data-label="Initial"] ').click(function() {

    // how do I reinsert the values from the initial input?

});

感谢您的想法!

1 个答案:

答案 0 :(得分:0)

一种简单的方法是使用jQuery data()

在每个元素上存储默认值
// want to store the initial value now!! 
$(this).data('default', $(this).val());

然后重置:

 /* within event handler */
 $(this).val( $(this).data('default') );

data() docs