我想使用querySelector从输入列获取值。我需要使用两个id来获取正确的列。第二个id存储在变量中,并且是一个整数值。我尝试了不同的东西,但我没有得到任何东西。目前它给我null。
checkDescriptionField = document.querySelector('#methodProperties input#'+'descriptionFieldId');
if(typeof checkDescriptionField !== 'undefined' && checkDescriptionField !== null)
{
descriptionFieldValue = document.querySelector('#methodProperties input#'+'descriptionFieldId').textContent;
}
外部id是methodProperties,内部是输入id =“0eca409e-e2f7-467d-bd5e-dff9b63e3715”,我想得到它的值=“Customers”
<div id="methodProperties">
<td role="gridcell">
<input id="0eca409e-e2f7-467d-bd5e-dff9b63e3715" class="k-textbox gridTable propertiesField" value="Customers" readonly="" data-role="droptarget" type="text">
<span class="errorTooltip" style="display: none;">
<span class="deleteTooltip" style="padding: 5px; display: inline;" title="Delete Value" data-role="tooltip">
</td>
我试过这个,但是我收到了无效错误
checkDescriptionField = document.querySelector('#methodProperties input#'+descriptionFieldId);
if(typeof checkDescriptionField !== 'undefined' && checkDescriptionField !== null)
{
descriptionFieldValue = document.querySelector('#methodProperties input#'+descriptionFieldId).textContent;
}
答案 0 :(得分:4)
外部id是methodProperties,内部是输入 id =“0eca409e-e2f7-467d-bd5e-dff9b63e3715”我希望得到它的价值 = “客户”
试试这个
descriptionFieldValue = document.querySelector( '#' + descriptionFieldId ).value;
或者因为methodProperties
descriptionFieldValue = document.querySelector( '#methodProperties input' ).value;
如果要重复id,请使用data-id属性
<div data-id="methodProperties">
<td role="gridcell">
<input value="customers">
</td>
</div>
和js为
descriptionFieldValue = document.querySelector( 'div[data-id="methodProperties"] input' ).value; //this will take the value from first methodProperties
答案 1 :(得分:1)
您应该使用document.querySelector(...).value
代替.textContent
。这样您就可以访问输入字段的值。