【问题标题】:How to get value with variable id in jquery?如何在jquery中获取变量id的值?
【发布时间】:2018-10-31 11:52:17
【问题描述】:

function addDictToCookie(id) {
    var name = $("#" + id + "input[id = material_name]").val();
    var unit = $("#" + id + "select[id = material_unit] :selected").text();
    var count = $("#" + id + "input[id = material_count]").val();
    var dict = { "name": name, "unit": unit, "count": count }
    Cookies.set('new', dict, { expires: 0.001 })
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form action="GET" id="{{material.Id}}">
    <div class="col-sm-5 topbox_insidebox_insideblocks">
        <input type="text" name=Material value="{{material.Id}}" class="in" readonly id="material_name">
    </div>
    <div class="col-sm-2 topbox_insidebox_insideblocks">
        <select id="material_unit">
            <option value="{{material.Volume}}">m^3</option>
        </select>
    </div>
    <div class="col-sm-5 topbox_insidebox_insideblocks">
        <input type="text" name=Value value="{{material.Volume}}" class="in" readonly id="material_count">
    </div>
    <button type="submit" class="btn btn-white topbox_button" id="addToCart" onclick="addDictToCookie('{{material.Id}}')"> Add</button>
</form>

我将django 的变量用于&lt;form&gt; 标签。现在我想获取输入的值,但定义 var 这个函数是null

如何解决这个问题?

【问题讨论】:

  • 我想你想念空格试试 var name = $("#" + id +" input[id = material_name]").val();

标签: jquery django-templates


【解决方案1】:

上面代码中一个很小的错误是在连接ID之后应用空间

不正确的代码:

$("#" + id + "input[id = material_name]").val();

正确代码:

$("#" + id + " input[id = material_name]").val();

示例: 表单ID是myForm

如果你不会申请空间,jQuery会尝试

不正确的代码:

$("#myForminput[id = material_name]").val();

在上面的例子中,myForminput id 在 html 中是不可用的,所以它总是会返回 undefined

正确代码:

$("#myForm input[id = material_name]").val();

在下面的示例中,我只是删除了django 代码,以便您清楚地了解:

function addDictToCookie(id) {
    var name = $("#" + id + " input[id = material_name]").val();
    var unit = $("#" + id + " select[id = material_unit] :selected").text();
    var count = $("#" + id + " input[id = material_count]").val();
    var dict = { "name": name, "unit": unit, "count": count }
    
	console.log(dict)	
  
  return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="myForm">
    <div class="col-sm-5 topbox_insidebox_insideblocks">
        <input type="text" name=Material value="Something" class="in" readonly id="material_name">
    </div>
    <div class="col-sm-2 topbox_insidebox_insideblocks">
        <select id="material_unit">
            <option value="Some Value">Some Value</option>
        </select>
    </div>
    <div class="col-sm-5 topbox_insidebox_insideblocks">
        <input type="text" name=Value value="123" class="in" readonly id="material_count">
    </div>
    <button type="submit" class="btn btn-white topbox_button" id="addToCart" onclick="return addDictToCookie('myForm')"> Add</button>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    相关资源
    最近更新 更多