我在使用 jQuery UI 的组合框时遇到了一些问题。我正在尝试将源选择的占位符添加到 ui 的输入中,这样我就可以轻松地在我的元素上设置所有内容,并让小部件拾取所需的内容。然而,它似乎不需要用任何空格/符号分隔的占位符,并且只应用第一个单词。
我已经尝试过:
input = $("<input data-validation='required' placeholder=" + select.attr('placeholder') + ">")
并用 hifen 和下划线替换空格(本例中的占位符示例为“Start-typing”或“Start_typing”):
input = $("<input data-validation='required' placeholder=" + select.attr('placeholder') + ">").replace(/-/g, ' ')
我还尝试将文本应用于标题属性并以相同的方式获取它,但结果相同。
我最终尝试执行以下操作:
placeholder = select.attr('placeholder').replace(/-/g, ' ');
console.log(placeholder);
input = $("<input data-validation='required' placeholder="+placeholder+">")...
我可以看到占位符的值在应用于输入之前是正确的,所以我不知道从这里去哪里。有什么想法吗?
JSFIDDLE包含整个小部件配置以及我正在测试的一些验证。
最佳答案
您需要在 HTML 字符串中添加引号:
input = $('<input data-validation="required" placeholder="' + select.attr('placeholder') + '">');
否则,它将把单词 2 到 n 视为附加属性。
关于jQuery UI 添加占位符到组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718023/