Вам нужно использовать ключевое слово this
для ссылки на текущий элемент, нажав кнопку, затем перейдите к родительскому элементу и выберите соответствующий вход с именем idVal
, который содержит if
текущего продукта:
var product_id = $(this).parent().find('[name="idVal"]').val();
И вы должны передать this
вашей функции в onClick
:
<button type="button" onclick="addProductInCart(this)">Добавить в
корзину
function addProductInCart(self) {
event.preventDefault();
alert($(self).parent().find('[name="idVal"]').val());
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<div class="col-lg-2 product">
<h3>name 1</h3>
<img src="" width="200" height="200"><br>
<h3>111</h3>
<button type="button" onclick="addProductInCart(this)">Добавить в корзину</button>
<input type="hidden" name="idVal" value="1">
</div>
</form>
<form>
<div class="col-lg-2 product">
<h3>name 2</h3>
<img src="" width="200" height="200"><br>
<h3>222</h3>
<button type="button" onclick="addProductInCart(this)">Добавить в корзину</button>
<input type="hidden" name="idVal" value="2">
</div>
</form>
<form>
<div class="col-lg-2 product">
<h3>name 3</h3>
<img src="" width="200" height="200"><br>
<h3>333</h3>
<button type="button" onclick="addProductInCart(this)">Добавить в корзину</button>
<input type="hidden" name="idVal" value="3">
</div>
</form>
args = getResolvedOptions(sys.argv, ['JOB_NAME','source_db','source_table','count','dest_folder'])
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)
df_new = glueContext.create_dynamic_frame.from_catalog(database = args['source_db'], table_name = args['source_table'], transformation_ctx = "sample_data")
df_0 = df_new.toDF()
df_0.registerTempTable("spark_dataframe")
new_data = spark.sql("Select * from spark_dataframe")
sample = new_data.limit(args['count'])
sample.repartition(1).write.format('csv').options(delimiter=',',header=True).save("s3://"+ args['dest_folder'] +"/")
job.commit()
I am getting error for line
sample = new_data.limit(args['count'])
error:
py4j.Py4JException: Method limit([class java.lang.String]) does not exist
but the argument passed is not a string.