我想在运行时动态关注input元素。我将传递输入名称运行时,然后它应该相应地集中输入。
这是输入元素的代码
<input type="text" id="txtNameOfEmp" data-bind="event: { blur: ValidateName.bind($data,txtNameOfEmp) } " />
然后在我的视图模型中,我试图关注如下
self.ValidateName = function (val) {
var inputName = val.id;
// some logic for validation
alert("Name is not valid");
$("'#" + inputName + "'").focus()
};
我收到错误
JavaScript runtime error: Syntax error, unrecognized expression: '#txtNameOfEmp'
如何动态聚焦?
UPDATE1
我也在下面尝试过,但它没有给出错误,但也没有设置任何焦点
$(inputName).focus();
答案 0 :(得分:2)
你的报价太多了。您不需要任何内容,因为您已将id包装在变量中。
试试这个:
$("#" + inputName).focus()
答案 1 :(得分:1)
Man ...我看到你的代码中有一个错误:
删除单引号:
use $("#"+inputName).focus();
答案 2 :(得分:0)
试试这个:
$(inputName).focus();