Документация jQuery содержит ответ:
Если вы хотите использовать любой из метасимволов (#;&,.+*~':"!^$[]()=>|/
) в качестве буквальной части имени, вы должны экранировать символ двумя обратными слешами: \\
. Например, если у вас есть вход с name="names[]"
, вы можете использовать селектор $("input[name=names\\[\\]]")
.
Итак, в вашем случае: $("input[name=\\[User\\]\\[user_id\\]]")
Обратите внимание, что я думаю, что HTML-фрагмент, который вы разместили, является поддельным. По умолчанию помощник формы Cake создает такие элементы:
<input type="text" name="data[User][user_id]" id="UserUserId" value="1">
Имя не содержит '
, а идентификатор верблюжий, для удобства выбора.