【问题标题】:Jquery: How to set a textbox's value from an other list, based on an event?Jquery:如何根据事件从其他列表中设置文本框的值?
【发布时间】:2018-03-07 18:45:55
【问题描述】:

我有一个 Sharepoint 自定义列表,用户可以在其中添加新项目。我有 2 个文本框(“A”和“B”),如果“A”被更改,我想在“B”中插入一个值。 问题:

1.如何选择文本框?

首先,我尝试简单地将文本插入基于this 的文本框“A”,但没有成功。这是我的代码:

<script type="text/javascript">
$(function () {
$('input[name="Test"]').val('some text');
 });
</script>

如果我使用 chrome,请按 F12 并选择文本框“A”,它显示 ID 为“input#Test_cc4abb3b-4c1c-45a4-83fc-af4a2dcb1d99_$TextField.ms-long.ms-spellcheck-true”。所以我尝试了:

$(function () {
$('input#Test_cc4abb3b-4c1c-45a4-83fc-af4a2dcb1d99_$TextField.ms-long.ms-spellcheck-true').val('some value');
});

但遗憾的是仍然无法正常工作。也许我错过了其他东西。我相信当我打开页面时,默认情况下这应该填充选定的文本框。

2。如何根据 chage 事件制作?

如果用户在文本框“A”中完成写入,我想触发设置的文本框“B”。 (按 Enter/Tab 键或从字段等中单击...)

3.如何从其他列表插入文本框“B”?

例如:我想从名为“ID”的唯一列中插入文本框“B”,基于唯一列“名称”,我从文本框“A”中获取“名称”值(用户写下来)。 (“ID”和“Name”都是另一个列表的列。)

抱歉,我是 Jquery 新手,非常感谢您的指导!

【问题讨论】:

    标签: jquery list events select sharepoint


    【解决方案1】:

    如果您使用 jQuery,您只需将 onchange 事件处理程序绑定到输入 A 以更改输入 B 的值。

    $(function() {
        $("input[name='A']").on('change', function() {
        $("input[name='B']").val( ($("input[name='A']").val() * 2) );
      })
    });
    

    小提琴示例: https://jsfiddle.net/3rh914ru/

    编辑:

    所以你需要的是这样的东西;

    $("*[name*='Test_']")
    

    使用这样的选择器,您可以选择在其字段中包含字符串“Test_”的所有元素。据此,我像这样更新了小提琴;

    $(function() {
        $("*[name*='Test_']").on('change', function() {
        $("*[name*='Result_']").val( ($("*[name*='Test_']").val() * 2) );
      })
    });
    

    更新小提琴: https://jsfiddle.net/3rh914ru/1/

    【讨论】:

    • 谢谢!这应该适用于事件部分。但看起来我有“未捕获的参考错误 $ 未定义”。即使我正确定义了名称,这也可能是我问题的根源。我猜sharepoint会自动生成一个非常复杂的文本框路径,所以如果我简单地引用它的名称/标题/id,它就不起作用。那么你有任何提示如何获取我的文本框的参考吗?即使我尝试使用: document.getElementById("Test_cc4abb3b-4c1c-45a4-83fc-af4a2dcb1d99_$TextField").value = "My value";我犯了同样的错误。我尝试了很多方法来参考,但我找到了正确的方法。
    • 请查看我的编辑,如果您需要进一步的帮助,请告诉我 :) 祝你好运!
    • 非常感谢,感谢您的 "*=" 方法,我终于可以得到 ID。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多