jquery 如果 id 有 3 个句点,则更改 select 的值
jquery change val of select if id has 3 periods
我正在尝试使用 javascript 更改 ToysRUs 地址页面上 select 框的值。该项目是一个自动填写地址表的扩展。我尝试 select jquery 中的对象时得到空值,即使我使用反斜杠也是如此。
页面正在使用 jQuery (typeof jQuery != 'undefined') 为真
> <select id="billingAddress.address.stateSelect" class="stateSelect
> dataRequired fieldError" name="billingAddress.address.stateSelect"
> tabindex="1">
document.getElementById("billingAddress.address.stateSelect") // returns 元素。
$("#billingAddress.address.stateSelect") // returns 空。
用反斜杠转义句点后我仍然得到 null。
s=document.getElementById("billingAddress.address.stateSelect").id;
console.log(s);
s= "#"+s.replace( /(:|\.|[|])/g, "\" );
//also tried \\ backslashes and \\ backslashes
console.log(s); //gives billingAddress\.address\.stateSelect
console.log($(s)); //is still null
我想使用
$("#billingAddress.address.stateSelect").val("CA").change()
更改元素并触发更改。这是更改 jquery select 的正确方法吗?
可以通过去 toysrus 尝试购买东西并进入地址页面来查看该页面 -- 检查状态 select 上的元素。
这应该是你想要的:
$('#billingAddress\.address\.stateSelect').//whatever
这些句点混淆了 jQuery selector,它正在寻找一个 id 为 billingAddress 的元素,以及一个 class 地址,另一个 class 状态选择。
要解决这个问题,您可以 select 您的元素,如下所示:
$("select[id='billingAddress.address.stateSelect']");
并且您可以像尝试做的那样分配您的值:
$("select[id='billingAddress.address.stateSelect']").val("someValue");
我正在尝试使用 javascript 更改 ToysRUs 地址页面上 select 框的值。该项目是一个自动填写地址表的扩展。我尝试 select jquery 中的对象时得到空值,即使我使用反斜杠也是如此。
页面正在使用 jQuery (typeof jQuery != 'undefined') 为真
> <select id="billingAddress.address.stateSelect" class="stateSelect
> dataRequired fieldError" name="billingAddress.address.stateSelect"
> tabindex="1">
document.getElementById("billingAddress.address.stateSelect") // returns 元素。
$("#billingAddress.address.stateSelect") // returns 空。
用反斜杠转义句点后我仍然得到 null。
s=document.getElementById("billingAddress.address.stateSelect").id;
console.log(s);
s= "#"+s.replace( /(:|\.|[|])/g, "\" );
//also tried \\ backslashes and \\ backslashes
console.log(s); //gives billingAddress\.address\.stateSelect
console.log($(s)); //is still null
我想使用
$("#billingAddress.address.stateSelect").val("CA").change()
更改元素并触发更改。这是更改 jquery select 的正确方法吗?
可以通过去 toysrus 尝试购买东西并进入地址页面来查看该页面 -- 检查状态 select 上的元素。
这应该是你想要的:
$('#billingAddress\.address\.stateSelect').//whatever
这些句点混淆了 jQuery selector,它正在寻找一个 id 为 billingAddress 的元素,以及一个 class 地址,另一个 class 状态选择。
要解决这个问题,您可以 select 您的元素,如下所示:
$("select[id='billingAddress.address.stateSelect']");
并且您可以像尝试做的那样分配您的值:
$("select[id='billingAddress.address.stateSelect']").val("someValue");