【问题标题】:I can't reach dynamic inputs with javascript我无法使用 javascript 访问动态输入
【发布时间】:2014-07-17 13:29:21
【问题描述】:

我想更改 Cloudera Hue 项目代码,但我遇到了一些问题。 Knockout data-bind 是用 foreach 创建的一些 html 代码,当我想在这个 html 中输入时,我的代码不能正常工作。我的 app.mako 文件代码:

.....
 <div data-bind="foreach: submissionVariables" style="margin-bottom: 20px">
  <div class="row-fluid">
    <span data-bind="text: name" class="span3"></span>
    <input type="text" data-bind="value: value,attr: { id: 'dtpicker' + name }" class="span9" />
    <button class="btn fileChooserBtn" data-bind="click: $root.showTimePicker">time</button>
  </div>
</div>

<input type="text" value="2014/03/15 05:06" id="datetimepickerz"/>
....
<script src="/static/js/jquery.datetimepicker.js"></script>
<script type="text/javascript">
    $('#dtpickerfolder').datetimepicker()
        .datetimepicker({value:'2015/04/15 05:03',step:10});
    $('#dtpickereverything').datetimepicker()
        .datetimepicker({value:'2015/04/15 05:03',step:10});
    $('#datetimepickerz').datetimepicker()
        .datetimepicker({value:'2015/04/15 05:03',step:10});
</script>

输出:

<input id="dtpickerfolder" class="span9" type="text" data-bind="value: value,attr: { id: 'dtpicker' + name }"></input>
<input id="dtpickereverything" class="span9" type="text" data-bind="value: value,attr: { id: 'dtpicker' + name }"></input>
<input id="datetimepickerz" type="text" value="2014/03/15 05:06"></input>

datetimepickerz 输入工作正常,但我的 ids 以 dtpicker 开头的动态输入不起作用。

谁能帮帮我?

【问题讨论】:

  • name 属性是否可观察?我建议您对 datepicker 使用敲除自定义绑定。
  • 是可观察到的。它就像 dtpicker+一切。我想设置日期和时间,我认为 datepicker 的淘汰赛自定义绑定只是获取日期属性?
  • 好的,然后在名称字段 attr 中使用括号:{ id: 'dtpicker' + name() }"
  • 我认为我的问题不正确。我编辑和编写输出。 { id: 'dtpicker' + name} 工作正常。那不是我的问题。

标签: javascript jquery knockout.js django-templates hue


【解决方案1】:

我解决了这个问题:

  self.runOrShowSubmissionModal = function runOrShowSubmissionModal() {
var script = self.currentScript();
if (! $.isEmptyObject(script.getParameters())) {
  self.submissionVariables.removeAll();
  $.each(script.getParameters(), function (key, value) {
    self.submissionVariables.push({'name': key, 'value': value});
    // CALL TO JQUERY 
    $("#dtpicker"+key).datetimepicker({value:"2015/04/15 05:03",step:10});
  });
  $("#runScriptBtn").button("reset");
  $("#runScriptBtn").attr("data-loading-text", $("#runScriptBtn").text() + " ...");

  $("#submitModal").modal({
    keyboard: true,
    show: true
  });
} else {
  self.runScript();
}
  };

我在淘汰功能中发送了我的 jquery。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多